标签作为提交按钮?

the*_*pan 33 html tags button

嗨,我想把"a"标签作为提交按钮.我在网络的某个地方找到了一个代码.但它没有用.

<a href="#" onclick="this.form.submit()">Submit</a>
Run Code Online (Sandbox Code Playgroud)

是否有任何代码可以满足我的需求?

Jam*_*ice 37

form一个id,然后:

document.getElementById("yourFormId").submit();

最佳做法可能是给你的链接id,并摆脱事件处理程序:

document.getElementById("yourLinkId").onclick = function() {
    document.getElementById("yourFormId").submit();
}
Run Code Online (Sandbox Code Playgroud)


Com*_*eek 30

试试这段代码:

<form id="myform">
  <!-- form elements -->
  <a href="#" onclick="document.getElementById('myform').submit()">Submit</a>
</form>
Run Code Online (Sandbox Code Playgroud)

但禁用JavaScript的用户将无法提交表单,因此您可以添加以下代码:

<noscript>
  <input type="submit" value="Submit form!" />
</noscript>
Run Code Online (Sandbox Code Playgroud)


amo*_*era 13

假设表单是您可以执行的直接父级:

<a href='#' onclick='this.parentNode.submit(); return false;'>submit</a>
Run Code Online (Sandbox Code Playgroud)

如果没有,您可以通过表单名称属性访问,如下所示:

<a href='#' onclick='document.forms["myform"].submit(); return false;'>submit</a>
Run Code Online (Sandbox Code Playgroud)

请参见此处的示例:http://jsfiddle.net/WEZDC/1/

  • 或者使用 [`closest()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/closest) 获取最接近的形式: `&lt;a href="#" onclick= “this.closest('form').submit(); 返回 false;"&gt;` (2认同)

小智 7

这是@ComFreek ans 的改进:

<form id="myform">
  <!-- form elements -->
  <a href="javascript:;" onclick="document.getElementById('myform').submit()">Submit</a>
</form>
Run Code Online (Sandbox Code Playgroud)

因此不会触发操作并重新加载您的页面。特别是如果您正在使用带有 SPA 的框架进行开发。