调用DOM提交方法时,jQuery提交事件未被触发

时间:2015-03-30 11:25:47

标签: javascript jquery dom

当我使用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中的错误吗?

1 个答案:

答案 0 :(得分:2)

不,调用表单的submit()方法不会触发提交事件,因此不会触发任何事件处理程序。

只有当用户通过点击按钮或任何此类操作触发提交事件时,才会触发提交事件。

submit event

  

表单的onsubmit事件处理程序(例如,onsubmit =&#34; return   false;&#34;)从中调用此方法时不会被触发   基于Gecko的应用程序。一般来说,不能保证   由HTML用户代理调用。