查询表单在提交纯JS时不提交

时间:2014-01-24 23:49:37

标签: javascript jquery forms

我的表格如下:

<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/

1 个答案:

答案 0 :(得分:1)

作为你问题的答案:
它是Should jQuery's $(form).submit(); not trigger onSubmit within the form tag?的副本 基本上它没有用,因为以编程方式调用“submit”不会触发“onsubmit”来阻止无限循环。