2012-06-29 57 views
2

我想要點擊提交按鈕來檢查表單的有效性。如果有效,表單應提交,否則不做任何事情。 我試過禁用提交按鈕,並點擊檢查有效性,並啓用它。 但我看到這種方法的兩個問題。 1:在禁用的按鈕上未檢測到點擊 2:即使我設法檢測到點擊,我可能會以無限循環結束。在啓用按鈕後的第二次點擊將再次觸發有效性檢查等。攔截點擊提交按鈕並檢查表單的有效性jQuery

回答

4

您應該使用event.preventDefault()。閱讀:http://api.jquery.com/event.preventDefault/

粗糙的示例代碼草案:

$('your-submit-button').click(function(event){ 
    if (! validate()) { 
     event.preventDefault(); 
     showErrors(); 
    } 
}) 

哪裏validate()是你的驗證功能,在驗證的情況下返回false失敗。

編輯:
樣品處理程序綁定到click事件,因爲你想

來檢查點擊提交按鈕

這是更好的做法是使用.submit(),而不是形式的有效性.click(),用於驗證任何類型的表單提交。 我們的樣品幾乎保持不變:

$('#your-form-id').submit(function(event){ 
    if (! validate()) { 
     event.preventDefault(); 
     showErrors(); 
    } 
}) 
+0

非常感謝。完美工作:> – Rushil