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/
小智 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 的框架进行开发。