我試圖做一個檢查輸入字段有效性的功能,但我遇到了這個問題,如果我太快類型,然後單擊標籤,它不」不會觸發事件,並且該字段未經驗證。我已經嘗試了keyup,keydown,blur,focus和focusout的一些組合,但沒有任何工作。等待用戶輸入和驗證工作不
我已經使用模糊以前,但模糊的問題是,對他們的電子郵件地址的最後一個輸入,它不會因火,他們不應該結合片從電子郵件路程,模糊的框。
這是我目前使用的代碼。它在我等待時有效,但如果我輸入「John」,然後立即打開標籤,則不會驗證它。
$(function()
{
var timer;
// First name
$('input[name="firstName"]').on('keydown',function(event)
{
clearTimeout(timer);
timer = setTimeout(function()
{
validate(/^[A-Za-z]*$/, 'firstName', 'firstName')
}, 800);
});
// Last name
$('input[name="lastName"]').on('keydown',function(event){
clearTimeout(timer);
timer = setTimeout(function()
{
validate(/^[A-Za-z]*$/, 'lastName', 'lastName')]
}, 800);
});
// Email
$('input[name="email"]').on('keydown',function(event){
clearTimeout(timer);
timer = setTimeout(function()
{
validate(/^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, 'email', 'email')
}, 800);
});
}
關於我該怎麼做的任何想法?
通常在表單提交時檢查有效性,而不是在用戶導航時檢查。 –
只需使用htm5-form-validation就可以完全不使用javascript完成表單驗證:http://www.the-art-of-web.com/html/html5-form-validation/ –
@TravisJ通過可用性手段 - 用戶輸入後應儘快驗證用戶輸入 –