我有一个带有按钮的HTML表单:
<form action="/" method="post" id="MyForm">
<input type="hidden" name="Field1" value="Value1" />
<input type="hidden" name="Field2" value="Value2" />
<input type="submit" name="name" value="submit" />
</form>
我有附加到Window的提交事件处理程序:
window.onsubmit = function()
{
alert("Submit happening!");
};
如果单击“提交”按钮,此事件处理程序将正常触发。 但是,当从javascript:
以编程方式触发提交时,事件永远不会起作用$("#MyForm")[0].submit();
如何在Javascript启动时捕获提交事件处理程序,而不是用户单击? 我尝试使用Jquery或AddEventListener订阅Form事件 - 不起作用。
答案 0 :(得分:19)
那是因为您不应该只使用submit
函数,而是trigger
提交内容:
$("#MyForm").trigger('submit');
答案 1 :(得分:10)