2013-02-14 128 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