当我使用DOM form submit method提交表单时,jQuery submit event handler未被调用,即使w3c说:“它执行与提交按钮相同的操作。”
我尝试使用jQuery 1.11.0和2.1.0。
<form id="form">
<button type="button" onclick="document.getElementById('form').submit()">submit onClick</button>
</form>
有关完整示例,请参阅http://jsfiddle.net/g0kxmdmw/6/。
在Firefox和Chrome中,按文本输入中的Enter键,单击“提交按钮”和“提交jquery”将全部触发处理程序并取消表单提交,同时“提交onClick
”和“提交js” dom“不要触发处理程序,并执行提交(GET
请求)。
我希望调用submit方法会显示与单击提交按钮相同的行为,但事实并非如此。这是jQuery中的错误吗?
答案 0 :(得分:2)
不,调用表单的submit()方法不会触发提交事件,因此不会触发任何事件处理程序。
只有当用户通过点击按钮或任何此类操作触发提交事件时,才会触发提交事件。
表单的onsubmit事件处理程序(例如,onsubmit =&#34; return false;&#34;)从中调用此方法时不会被触发 基于Gecko的应用程序。一般来说,不能保证 由HTML用户代理调用。