jquery帖子只在提醒后才有效

时间:2012-11-06 21:25:04

标签: javascript jquery ajax forms submit

我有一次提交两种表格的功能。并且最后(第二个)post方法在没有alert()的情况下不会生效。

请你告诉我我的错误。

  function formFunction() {
        ...
        $.post($("#form1").attr("action"), $("#form1").serialize() );
        $.post($("#form2").attr("action"), $("#form2").serialize() );

        //alert('done');
}

UPD

这是函数调用的方式

<form id="form0" name="form0" onsubmit="formFunction()">
    <input id="mainFormValue" type="text">

1 个答案:

答案 0 :(得分:3)

失败的原因是您没有取消原始表单提交。这意味着当您单击按钮时页面将回发到服务器。您需要做的是阻止原始表单提交完成。

如果要使用jQuery添加事件处理程序,可以使用preventDefault()取消表单提交。

function formFunction(e) {
     e.preventDefault();
     $.post($("#form1").attr("action"), $("#form1").serialize() );
     $.post($("#form2").attr("action"), $("#form2").serialize() );
}

将表单提交更改为不引人注目的JavaScript,以获取jQuery设置的正确事件对象。

$("#form0").submit(formFunction);

其他解决方案是将return false添加到submisison。只需忽略我上面建议的preventDefault行。 [坏主意,但会奏效]

<form id="form0" name="form0" onsubmit="formFunction(); return false">