在密码重置表单上,我验证了两个密码输入(密码和密码2)以确保它们与正则表达式匹配,具有一定的长度并且彼此匹配。任何问题都会突出显示有问题的输入并引发错误消息。
要检查两个输入与正则表达式和长度我使用'each'函数,但它不起作用。事实上,当它在那里时,整个checkform()函数似乎没有运行(我用警告框测试它 - 当我删除警报显示的每个函数时,当它在那里时,它没有)。
这是脚本:
function checkform(){
alert("function running");
regex=/^[a-zA-Z0-9_]+$/;
//This each function stops checkform() from running //
$("#password, #password2").each(function() {
if($(this).val().length>5){
$(this).css('border', '');
} else {
$(this).css('border', '1px solid red');
$("#errormsg").html("Oops! Please enter a valid password");
return false;
}
}
//End of problem code
if($("#password").val() != $("#password2").val()){
$("#password").css('border', '1px solid red');
$("#password").css('border', '1px solid red');
$("#errormsg").html("Oops! Your passwords don't match");
return false;
} else {
$("#errormsg").empty();
}
return true;
}
任何人都可以看到问题所在吗?
由于
答案 0 :(得分:0)
这是正确的代码
function checkform(){
alert("function running");
regex=/^[a-zA-Z0-9_]+$/;
//This each function stops checkform() from running //
$("#password, #password2").each(function() {
if($(this).val().length>5){
$(this).css('border', '');
} else {
$(this).css('border', '1px solid red');
$("#errormsg").html("Oops! Please enter a valid password");
return false;
}
}); // <-- close the "(" of the each function
//End of problem code
if($("#password").val() != $("#password2").val()){
$("#password").css('border', '1px solid red');
$("#password").css('border', '1px solid red');
$("#errormsg").html("Oops! Your passwords don't match");
return false;
} else {
$("#errormsg").empty();
}
return true;
}