javascript - 写入时验证输入字段

标签 javascript html jquery

当有人在字段中输入时,我可以隐藏验证错误吗? (不聚焦,仅在输入中输入更多字母时)。

我目前有这个代码:

 <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 实现吗?

最佳答案

我相信您正在寻找焦点事件。

<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 = "";
  }

关于javascript - 写入时验证输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61331611/

相关文章:

javascript - Google Data Studio 自定义图表

javascript - 如何限制手动输入时html5数字输入的最大值

html - 使用 CSS 将悬停效果应用于标题

javascript - 定位位置: fixed elements correctly after pinch zoom

javascript - 使用 javascript/jQuery 循环遍历 JSON 结构

jQuery 通过数据类型选择

javascript - Angular $on 和 $broadcast

javascript - focus() input element with jQuery, but the cursor doesn't appear

javascript - 如何通过滚动动画 CSS 过渡效果?

javascript - 使用 jQuery 进行表过滤