2013-02-14 154 views
-2

我有一些AJAX验证字段的表单(不是所有的字段都用ajax验证)jQuery的:防止形式AJAX验证错误提交

我想阻止,如果有这些内容之一的错误形式提交。领域。

我希望它是通用的其他形式,我已与ajax验证。

1旗不会做的伎俩。

这就是AJAX领域看起来像错误:

<label id="id_name_lab" class="error">name</label> 
<input id="id_name" type="text" maxlength="128" name="name"> 
<label id="id_name_succ_icn" class="icon_succ" style="display: none;"></label> 
<label id="id_name_load_icn" class="icon_load" style="display: none;"></label> 
+0

告诉我们你的代码? – asifsid88 2013-02-14 07:40:48

+0

您需要更具体地了解“这些字段之一的错误”是 – Alexander 2013-02-14 07:53:19

+0

我编辑了我的答案。 我需要去表单字段,并寻找类错误和ID包含load_icn – user1973995 2013-02-14 08:04:58

回答

0

我的想法是使用回调链。

伪代码

$("form").one("submit", function() { 
    var self = this; 

    // ajax validation 
    $.ajax(/* ... */) 
     .done(function() { 
      // call validation, if form is valid, ajaxValidation calls submit again. 
      ajaxValidation(self); 
     }); 

    // first submit is always ignored. 
    e.preventDefault(); 
    return false; 
}); 

function ajaxValidation(target) { 
    // check valid & call submit 
} 

,它需要结合上述提交处理程序,当你想要的。

0

使用jQuery:

$("form").submit(function(e) { 
       e.preventDefault(); 
       return false; 
}); 

没有jQuery的:

return false; 

在您的形式的onsubmit元素。

+0

你没有考虑错误的ajax验证字段 – user1973995 2013-02-14 07:46:09

+0

只要写你的验证if(myfield =='')return false;其他[请提交我的表单]与你自己的规则是必要的。 – 2013-02-14 07:47:57

+0

我不想指定字段名称,我希望它是通用的 – user1973995 2013-02-14 07:51:12