#javascript
#javascript
Вопрос:
Я использовал следующий код javascript для добавления встроенной ошибки в мою форму. Я хочу, чтобы ошибка удалялась после исправления ошибки после исправления каждого поля. Я создал единую функцию для всех проверок, поэтому не могу использовать else и удалить ошибку вручную.
var emailpattern = /^[a-zA-Z][a-zA-Z0-9_]*(.[a-zA-Z0-9_] )*@[a-zA-Z0-9-] (.[a-zA-Z0-9-] )*.([a-zA-Z]{2,4})$/
var passwordpattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[$@$!%*?amp;])[A-Za-zd$@$!%*?amp;]{8,}$/;
function validateForm() {
var x = document.forms["LoginForm"]["email"];
if (x.value == "") {
x.value = "";
document.getElementById('pointemail').innerHTML = "Please enter the email id.";
x.focus();
return false;
} else if (!emailpattern.test(x.value)) {
x.value = "";
document.getElementById('pointemail').innerHTML = "Please enter a valid email address.";
x.focus();
return false;
}
x = document.forms["LoginForm"]["password"];
if (x.value == "") {
x.value = "";
document.getElementById('pointpassword').innerHTML = "Please enter the password.";
x.focus();
return false;
} else if (!passwordpattern.test(x.value)) {
x.value = "";
document.getElementById('pointpassword').innerHTML = "Password should have minimum 8 characters, one upper case, one lower case and one special character";
x.focus();
return false;
}
}
Комментарии:
1. Просто добавьте
else
блок в конце для допустимого состояния
Ответ №1:
Попробуйте это
var emailpattern = /^[a-zA-Z][a-zA-Z0-9_]*(.[a-zA-Z0-9_] )*@[a-zA-Z0-9-] (.[a-zA-Z0-9-] )*.([a-zA-Z]{2,4})$/
var passwordpattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[$@$!%*?amp;])[A-Za-zd$@$!%*?amp;]{8,}$/;
function validateForm() {
var x = document.forms["LoginForm"]["email"];
document.getElementById('pointemail').innerHTML = "";
document.getElementById('pointpassword').innerHTML = "";
//Add your if else here.
}
Надеюсь, это будет полезно. 🙂
Комментарии:
1. Это будет полезно, если вы не хотите использовать else. Сначала он будет пустым, а после этого проверится.
2. вы запускаете его по событию изменения?
Ответ №2:
Предоставьте дополнительную инструкцию else после elseif
else {
document.getElementById('pointemail').innerHTML = '';
}
Аналогично для pointPassword