使用jquery提交表单不起作用

时间:2013-06-26 16:29:25

标签: jquery html forms submit

我有一张表格:

<form action="thanks.php" onsubmit="return false" class="submitForm">
... Some Inputs ...
</form>

和jQuery代码:

$(document).ready(function() {
       $("form.submitForm").on("submit", function() {
        $("form.submitForm").attr("onsubmit", "return true");
        $("form.submitForm").submit;
    });
});

现在我想用jQuery代码提交表单。它工作,但只在第二次输入或提交... 我不明白为什么它不起作用......

感谢您的帮助!

对不起我的英语错误,我来自德国。

1 个答案:

答案 0 :(得分:2)

为什么不提交:

您的表单未提交,因为onsubmit属性为return false。这会阻止表单提交,这可能是您想要的,因为您尝试使用$("form.submitForm").submit;重新提交表单。不幸的是,这不起作用,因为你需要添加这样的括号:$("form.submitForm").submit();

为什么第二次提交

在第一次提交时,您正在阻止默认行为(return false),但您要将onsubmit属性更改为return true。这将取消您最初的默认预防。

总的来说,你是第一次clikc,阻止使用return false的默认行为,因为$("form.submitForm").submit;中存在错误,然后将return false更改为true,删除的是阻止表单提交。

解决方案:

使用此代码:

$(document).ready(function() {
    $("form.submitForm").on("submit", function(e) {
        e.preventDefault()
        $("form.submitForm").submit();
    });
});

但如果你在该代码中没有其他内容,为什么兄弟会阻止默认然后执行默认行为呢?