В форме сброса пароля я проверяю два ввода пароля (пароль и пароль2), чтобы убедиться, что они соответствуют регулярному выражению, имеют определенную длину и соответствуют друг другу. Любые проблемы подсвечивают оскорбительный ввод и вызывают сообщение об ошибке.
Чтобы проверить оба входа на регулярное выражение и на длину, я использую функцию "каждый", но это не работает. Фактически, когда он присутствует, вся функция 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;
}
Кто-нибудь может понять, в чем проблема?
благодаря
Это правильный код
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;
}
}) //End of problem code