Проверьте поле ввода во время записи - PullRequest
0 голосов
/ 20 апреля 2020

Могу ли я сделать свою ошибку подтверждения скрытой, пока кто-то печатает в поле? (не фокусируется, только при наборе большего количества букв на ввод).

у меня в настоящее время есть этот код:

 <div>
  Email:
  <input type="text" name="email" id="txtEmail" onblur="validateForm()">
  <label id="lblError" style="color:red"></label>
  </div>

и это javascript:

function validateForm() {
     var x = document.getElementById("txtEmail").value;
     var atpos = x.indexOf("@");
     var dotpos = x.lastIndexOf(".");
     if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= x.length) {


         document.getElementById("lblError").innerHTML = "Enter valid email Address";
     }
     else {
         document.getElementById("lblError").innerHTML = "";
     }
 }

То, что это делает, проверяет мой адрес электронной почты, когда поле ввода теряет фокус. Однако я хотел бы, чтобы он скрывал ошибки, когда кто-то снова фокусировался, и писал больше писем. Точно так же, как этот сайт: https://www.cosstores.com/en_dkk/login

Это возможно с jquery или javacript?

1 Ответ

1 голос
/ 21 апреля 2020

Я полагаю, вы ищете фокусное событие.

<div>
  <label for="txtEmail">Email:</label>
  <input type="text" name="email" id="txtEmail" onblur="validateForm()" onkeypress="clearErrMsg()">
  <label id="lblError" style="color:red"></label>
</div>
  function validateForm() {
    var x = document.getElementById("txtEmail").value;
    var atpos = x.indexOf("@");
    var dotpos = x.lastIndexOf(".");
    if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= x.length) {
      document.getElementById("lblError").innerHTML = "Enter valid email Address";
    } else {
      document.getElementById("lblError").innerHTML = "";
    }
  }

  function clearErrMsg() {
    document.getElementById("lblError").innerHTML = "";
  }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...