我有一個必需的文本框。當用戶單擊提交按鈕時,如果沒有輸入值,驗證將觸發並阻止提交表單。我希望在用戶在文本框中鍵入一個值以使用戶知道輸入的值有效後,錯誤消息就會消失。現在,驗證錯誤消息在用戶進行更改後保持可見。我正在使用jquery驗證。如何在用戶進行更改後在文本框上重新運行驗證
0
A
回答
1
$('input[type="text"]').on('keyup', function() {
if (this.value === '') {
//this input is blank
}
});
您可以設置標誌的submit
事件處理程序進行檢查:
var error = false;
$('input[type="text"]').on('keyup', function() {
if (this.value === '') {
error = true;
$(this).addClass('form-error');
} else {
error = false;
$(this).removeClass('form-error');
}
});
$('form').on('submit', function() {
//trigger a `keyup` event on all the inputs in this form, to force validation if the input has not been changed
$(this).find('input').trigger('keyup');
console.log(!error);
return !error;//will return true if there is not error, and false if there is an error
});
注意我用了keyup
事件,因爲該元素的value
將由點發生了變化。
這裏是一個演示:http://jsfiddle.net/jasper/NawBk/
注意.on()
是新的一樣的jQuery 1.7的,是在這種情況下一樣.bind()
:http://api.jquery.com/on
,是的,我只是你使用jQuery實現驗證插件,我會繼續並離開這篇文章,因爲我認爲它仍然可以幫助人們。
0
$('form :input').on('keypress',function(){
$(this).closest('form').validate();
});
迫使它,因爲他們正在輸入的東西重新驗證。雖然只要用戶輸入內容,它應該自動識別它是否有效。確保您的驗證器按預期工作。
相關問題
- 1. 如何使文本框在運行時進行驗證
- 2. OAuth 2.0更改爲sdk後,如何在Facebook上重新進行身份驗證?
- 3. 在使用HappyJs進行驗證時更改文本框邊框顏色
- 4. 文本框驗證僅在文本更改後才起作用
- 5. 如何在運行set_unusable_password之後對用戶進行身份驗證?
- 6. 在按鈕上更改文本單擊,然後在運行後再次運行
- 7. 我如何在我的文本框中進行驗證?
- 8. 如何在Silverlight中對文本框進行驗證,端到端?
- 9. 如何在兩個文本框中進行驗證
- 10. 如何在JavaScript中對文本框進行驗證
- 11. 在運行時用一個新類更改按鈕/文本框
- 12. 如何在進行ajax調用時尊重客戶端驗證
- 13. 如何在更改後重新啓動在mod_fcgid下運行的Perl腳本?
- 14. 如何在服務器端重新使用Angular進行驗證?
- 15. 如何在文本字段上運行驗證
- 16. 如何在Google DevTools中進行任何更改後重新加載JS腳本?
- 17. Jquery驗證:在複選框更改後使用不同的規則重新驗證驗證後的表單
- 18. 如何在Android上在運行時更改按鈕的文本?
- 19. 在zend框架中進行身份驗證後重定向2
- 20. 如何強制登錄客戶重新進行身份驗證?
- 21. 如何重新發送驗證郵件進行驗證?
- 22. 使用javascript在asp.net中進行文本框驗證
- 23. 用Jquery或Javascript在文本框中進行小數域驗證
- 24. 在使用visual basic的文本框中進行驗證
- 25. 如何進行用戶驗證
- 26. 如何在Android上使用Volley進行基本身份驗證?
- 27. FormsAuthentication未能在更改域後進行身份驗證
- 28. 如何在linux用戶登錄認證後運行腳本
- 29. Silverlight 4僅在更改後才能驗證文本框
- 30. 如何在客戶端驗證後在asp.net中運行腳本mvc
我喜歡這種方法,可以讓它在我的代碼中工作。我也在使用jQuery驗證消息。因此,當用戶未在必填字段中輸入值時,會在用戶界面中顯示一條消息。在用戶在文本框中輸入值後,如何讓消息消失? – 2012-03-01 23:44:17
@TomSchreck在我上面的代碼中,每次在文本輸入中按下一個鍵時,它都會被驗證,所以如果它的值是有效的,那麼驗證完成後應該刪除錯誤消息。我還會在每個輸入中觸發一個'keyup'事件,以確保它在發送表單之前已經過驗證。 – Jasper 2012-03-02 00:08:17