1 回答

TA贡献1155条经验 获得超0个赞
当您在 HTMLForm 元素上使用该方法时,不会触发表单的提交事件侦听器:.submit()
当用户单击提交按钮(或 )或在编辑表单中的字段(例如 )时按下时,将触发提交事件。直接调用该方法时,不会将事件发送到窗体。
<input type="submit">
Enter<input type="text">
form.submit()
- 断续器
您可以改用 .requestSubmit()
方法,该方法会触发表单的 onsubmit 事件处理程序,并对表单执行约束验证:
/* vanilla js replacement */
myForm = document.querySelector("form[name=myForm]")
myForm.querySelector("button").addEventListener('click', function() {
myForm.requestSubmit();
})
myForm.addEventListener('submit', function(e) {
e.preventDefault()
console.log("Submitting form");
})
<form name="myForm">
<input type="text" name="name" />
<button type="button">Click me</button>
</form>
此方法的主要缺点是,与 jQuery 的方法不同,请求提交() 的浏览器支持较弱。.submit()
添加回答
举报