我的表格如下:
<button onclick="javascript: document.getElementById('myform').submit(); return false">Send Form</button>
<form action="" method="post" id="myform">
<input type="hidden" name="hidden_value" value="test" />
<input type="submit" value="Submit" />
</form>
和Js:
$(document).ready(function() {
$(document).on('submit', 'form', function() {
alert('one!');
});
console.log($('form').length);
$('form').on('submit', function() {
alert('two!');
});
$('form').bind('submit', function() {
alert('three!');
});
});
所以我有两种表单提交方式:纯JS和原生。 如果我使用原生方法 - 一切都好,我收到三条消息:“两个!”,“三个!”和“一个!”。 但是,如果我使用 .submit(),则没有消息 - 事件未触发。
jQuery版本:1.7,1.8,1.11
我改变了电话,例如:http://jsfiddle.net/jF6fv/
答案 0 :(得分:1)
作为你问题的答案:
它是Should jQuery's $(form).submit(); not trigger onSubmit within the form tag?的副本
基本上它没有用,因为以编程方式调用“submit”不会触发“onsubmit”来阻止无限循环。