javascript - 如何验证 onblur 事件中的文本框?

标签 javascript jquery

我的页面中有 2 个文本框,我想验证 onblur 事件中的文本框。但是 onblur 事件正在连续执行这 2 个文本框,

请检查以下代码-

function validate(c) {
  if (c.value == '') {
    alert(c.id + " is empty.");
    c.select();
    return false;
  }
}
<body>
  <form id="form1" runat="server">
    <div>
      <input type="text" id="Text1" onblur="return validate(this)" />
      <input type="text" id="Text2" onblur="return validate(this)" />

    </div>
  </form>
</body>

请告诉我,如何解决这个问题?

提前致谢。

最佳答案

使用document.activeElement,您可以检查新的焦点元素是什么。

所以你可以这样做:

function validate(c) {
    // Ignore when switching between these Inputs
    if (document.activeElement == document.getElementById("Text1")) return
    if (document.activeElement == document.getElementById("Text2")) return
    //...

...我花了一些时间才找到解决方案,在这里

关于javascript - 如何验证 onblur 事件中的文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33922283/

相关文章:

javascript - TinyMCE 图像类问题

javascript - Angularjs selectedOption 不起作用

javascript - 如何使用 string.format 动态生成 jquery 的第 n 个参数

javascript - 通过名称获取嵌套对象属性的更优雅的方法?

javascript - 使用nodejs通过api在github中创建Issue并请求: response is undefined

java - 通过Java登录网站?

javascript - 如何改变Youtube评论颜色?

jquery - setTimeout、clearTimeout jQuery

JavaScript/JQuery 倒计时器具有多个间隔设置?

javascript - 复选框未通过 JavaScript 检查