我在jQuery Mobile网站上有一个表单,我想验证,如果验证没有通过,则停止提交。
然而,'return false'并不会阻止提交表单,因为jQuery Mobile正在通过Ajax提交表单。如何停止表单提交?
$("#form").live('submit', function(){
alert('test');
return false;
});
上面的代码会触发警报,但不会停止提交表单。如果我在表单标签上使用data-ajax =“false”它可以正常工作,但如果可能的话我宁愿使用Ajax提交。
答案 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表单提交代码。