最好的方法
最好的办法是插入合适的输入标签:
<input type="submit" value="submit" />
最好的 JS 方式
<form id="form-id">
<button id="your-id">submit</button>
</form>
var form = document.getElementById("form-id");
document.getElementById("your-id").addEventListener("click", function () {
form.submit();
});
如果您还没有这样做,请用 DOMContentLoaded 事件将后面的 JavaScript 代码括起来(对于 backward compatiblity,请仅选择 load):
window.addEventListener("DOMContentLoaded", function () {
var form = document.... // copy the last code block!
});
简单但不推荐的方式(前一个答案)
在链接中添加onclick 属性,在表单中添加id:
<form id="form-id">
<a href="#" onclick="document.getElementById('form-id').submit();"> submit </a>
</form>
各种方式
无论您选择哪种方式,最终都会调用formObject.submit()(其中formObject 是<form> 标记的DOM 对象)。
您还必须绑定这样一个事件处理程序,它调用formObject.submit(),因此当用户单击特定链接或按钮时会调用它。有两种方式:
-
推荐:将事件监听器绑定到 DOM 对象。
// 1. Acquire a reference to our <form>.
// This can also be done by setting <form name="blub">:
// var form = document.forms.blub;
var form = document.getElementById("form-id");
// 2. Get a reference to our preferred element (link/button, see below) and
// add an event listener for the "click" event.
document.getElementById("your-id").addEventListener("click", function () {
form.submit();
});
-
不推荐: 插入内联 JavaScript。不推荐这种技术有几个原因。一个主要论点是您将标记 (HTML) 与脚本 (JS) 混合在一起。代码变得杂乱无章,难以维护。
<a href="#" onclick="document.getElementById('form-id').submit();">submit</a>
<button onclick="document.getElementById('form-id').submit();">submit</button>
现在,我们需要确定触发 submit() 调用的 UI 元素。
-
一个按钮
<button>submit</button>
-
一个链接
<a href="#">submit</a>
应用上述技术以添加事件侦听器。