jQuery Mobile在表单提交上“返回false”

时间:2011-05-11 15:24:55

标签: jquery jquery-mobile

我在jQuery Mobile网站上有一个表单,我想验证,如果验证没有通过,则停止提交。

然而,'return false'并不会阻止提交表单,因为jQuery Mobile正在通过Ajax提交表单。如何停止表单提交?

$("#form").live('submit', function(){
    alert('test');
    return false;
});

上面的代码会触发警报,但不会停止提交表单。如果我在表单标签上使用data-ajax =“false”它可以正常工作,但如果可能的话我宁愿使用Ajax提交。

3 个答案:

答案 0 :(得分:7)

使用data-ajax="false"并绑定您自己的ajax表单提交代码,该代码仅在验证通过时运行:

$("#form").live('submit', function()
{
    if (formValidates)
    {
        $.post(...);
    }

    return false;
});

答案 1 :(得分:1)

我同意bmaland并遇到同样的问题。 这对我有用:

$(document).on("pagecreate","#Home",function(){
$("#myFormSearch").submit(function(){
        myRealSubmit();
        return false;
    });                      
}); 

答案 2 :(得分:0)

请注意,如果您可以使用$(“#form”)。submit()而不是live(),那么您的代码将按预期工作,而无需提供您自己的ajax表单提交代码。