它不会验证,这是正确的做法吗?
我的所有表单验证功能都运行正常,但是当我点击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');
}
答案 0 :(得分:0)
显示的代码有一个语法错误 - 最后它错过了结束:
});
...属于$('#BtnGoSignUp').click(function(e){
。
我没有看到您显示的内容中有任何其他错误,但您没有显示blur
和keyup
处理程序调用的任何函数,所以...
说到您的blur
和keyup
处理程序,您可以简化您定义的函数,如下所示:
$('#SUInpR_Email').blur(function(){
checkEmail();
})
...通过直接绑定内部函数:
$('#SUInpR_Email').blur(checkEmail); // note: no () after checkEmail
如果除了调用checkEmail()
之外还需要采取其他操作 - 或者需要将参数传递给checkEmail()
,则只需要匿名函数。 (你拥有它的方式不是错误,它不会阻止它工作,我建议用更短的方法来做同样的事情。)
另外,为什么使用字符串'false'
和'true'
代替布尔false
和true
?