Скрыть javascript innerHTML после исправления ошибки

#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