2013-10-04 18 views
1

這是我的jQuery代碼片段。只有在驗證通過時jQuery纔會將數據發佈到服務器

$("#saveBankDetails").click(function(){ 
      if($('#firstBankDetail').is(':visible')) { 
       validateFirstBankDetails(); 
      }  
     }); 

因此,當我點擊saveBankDetails如果firstBankDetail可見調用JavaScript函數。 validateFirstBankDetails()是一個javascript函數,如果驗證失敗,則返回false。

現在即使驗證失敗,我也會重定向到其他頁面。我怎麼能阻止它?

我想實現的是僅在驗證通過時提交表單數據,即validateFirstBankDetails()返回true。我怎樣才能做到這一點 ?我是jQuery的初學者。請指教。

回答

0

閱讀你的問題,我的理解是你的按鈕是表單的提交按鈕。那麼你可以連接表單的「submit」事件,而不是按鈕的「click」事件,然後使用非常有用的event.preventDefault()來避免重定向,如果驗證失敗。

事情是這樣的: (如果只有一個在你的頁面形式,我們可以通過jQuery選擇它作爲「形式」):

$(document).ready(function() { 
    $('form').submit(function (event) { 
     if($('#firstBankDetail').is(':visible')) { 
      if (validateFirstBankDetails() == false) { 
       // won't submit 
       event.preventDefault(); 
      } else { 
       // will submit 
      } 
     } else { 
      // won't submit 
      event.preventDefault(); 
     } 
    });  
}); 

我試過它和它的作品。 希望這有助於! 親切的問候,

裏卡多。

1

嘗試用這種

 $("#saveBankDetails").click(function(){ 
      if($('#firstBankDetail').is(':visible')) { 
       return validateFirstBankDetails(); 
      }  
     });   
+0

請看看我的問題http://stackoverflow.com/questions/19179316/jquery-post-data-to-server-after-successful-validations –

相關問題