2013-03-15 89 views
0

它不會驗證,這是做到這一點的正確方法嗎?Jquery驗證數組

我所有的表單驗證功能的精細工作,但是當我點擊submit按鈕,它不會驗證

代碼:

var pinvalid = 'false'; 
    var emailvalid = 'false'; 
    var confirmemailvalid = 'false'; 
    var passwordvalid = 'false'; 
    var confirmpassword = 'false'; 

    //Validate PIN 
    $('#SUInpR_UserPin').keyup(function(){ 
checkAvailability(); 

}); 
    // Validate Email 
$('#SUInpR_Email').blur(function(){ 
checkEmail(); 
}) 

// Compare email address 
$('#SUInpR_CEmail').blur(function(){ 

compareEmail(); 

}) 



    //Check Password 
    $('#SUInpR_Password').blur(function(){ 


validatepassword(); 
}) 

// Comfirm Password 
$('#SUInpR_PasswordConfirm').keyup(function(){ 

validatepasswordcheck(); 

}) 


//When signup button is click 

$('#BtnGoSignUp').click(function(e){ 


if (pinvalid == 'true'){ 
    alert('Please check and make sure the all fields are entered'); 

} 
else if(emailvalid == 'false'){ 
    alert('Please Enter your email address'); 

} 
else if(confirmemailvalid == 'false'){ 
    alert('Please confirm your Email Address'); 

} 
else if (passwordvalid == 'false'){ 
    alert('Please Enter your password'); 

} 
else if (confirmpassword == 'false'){alert('Please Confirm your Password'); 



} 
else{ 
    alert('all ok'); 
} 
+2

你的html代碼在哪裏? – 2013-03-15 23:16:32

回答

0

如圖所示的代碼有語法錯誤 - 就在結束它缺少收盤:

}); 

...屬於$('#BtnGoSignUp').click(function(e){

我沒有看到你已經證明了任何其他錯誤,但你有沒有表現出任何的你blurkeyup處理程序調用的函數,所以......你blur

口語和通過直接與內在功能

$('#SUInpR_Email').blur(function(){ 
checkEmail(); 
}) 

...:keyup處理程序,可以簡化您已經定義這樣的功能

$('#SUInpR_Email').blur(checkEmail); // note: no() after checkEmail 

如果您需要採取其他操作,除了撥​​打checkEmail()或者需要將參數傳遞給checkEmail(),您只需要匿名功能。 (你有它的方式不是錯誤,它不會阻止它的工作,我建議更短的方式來做同樣的事情。)

此外,爲什麼你使用字符串'false''true',而不是布爾人falsetrue