2016-03-17 156 views
-1

我使用工具集CRED插件生成的表單具有jquery.validate驗證。 我在用戶重複點擊提交按鈕時產生了重複內容的問題。jquery驗證與防止雙重提交的腳本衝突

我試圖添加此代碼,以防止多次提交

$("form").submit(function() { 
     // submit more than once return false 
     $(this).submit(function() { 
      return false; 
     }); 
     // submit once return true 
     return true; 
    }); 

它工作正常,除了一個事實,即如果該用戶第一次提交表單沒有通過驗證,然後提交按鈕不再工作了。

你可以建議任何調整? 謝謝 Carlo

回答

-1

您可以創建一個全局變量並檢查它是否已被更改。 然後假設它是一個常規表單,頁面將重新加載,您可以再次發送表單。

var hasBeenSent = false; 

$("form").on('submit',function(e){ 
    if(hasBeenSent != false){ 
     e.preventDefault(); // this should prevent sending the form. 
    }else{ 
     hasBeenSent = true; 
    } 
}) 
+0

這個想法的一個巨大問題是jQuery Validate插件有它自己的內置提交處理函數。 – Sparky