javascript - 聚焦已运行该函数的表单字段(新手)

标签 javascript

在表单字段上运行验证函数后,我试图聚焦表单字段,该函数会触发该字段的“onblur”事件。我想做的是,如果该字段无效,但它似乎没有做到这一点,则将焦点重新集中在该字段上。我在网上寻找答案,但找不到解决方案。

HTML:

<input type="text" id="name" name="name" value="" onblur="validateName();"/>

JavaScript:

function validateName() {
        var name = document.getElementById("name");
          if (name.value==""||!isNaN(name.value)){
            alert("Please enter a valid name.  You have left the field blank or entered a number.");
            document.getElementById("name").focus();
          }

      };//END validateName

document.getElementById("name").focus(); 未按预期工作。

最佳答案

该代码适用于我,但为了使其更加“干净”,我为您做了一些更改:

HTML: 您可以通过函数调用(this)“传递”元素,这样,我们就不必再在函数本身中查找它了。

<input type="text" id="name" name="name" value="" onblur="validateName(this)"/>

JavaScript: 被模糊的元素被传递并存储在 element 中,我们直接调用“focus()”函数。

function validateName(element) {

      if (element.value==""||!isNaN(element.value)){
        alert("Please enter a valid name.  You have left the field blank or entered a number.");
        element.focus();
      }

  };//END validateName

关于javascript - 聚焦已运行该函数的表单字段(新手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29414555/

相关文章:

javascript - 如何在 EXT-GWT 中拆分面板?

javascript - 使用 Socket.IO,在发送 JavaScript 事件时防止客户端劫持 - 使用 SignalR?

javascript - 检查 undefined variable 在 Chrome 中不起作用

javascript - 如何使用codeigniter框架打印PHP中模态内的内容

javascript - 如何防止 Unicode 字符从 JavaScript 呈现为 HTML 中的表情符号?

javascript - 透明 GIF 在 IE6 中显示在内容后面

javascript - JQuery 步骤 - 将 "Finish"按钮重命名为其他名称

javascript - FadeIn FadeOut 以及为什么 div 会移动?

javascript - 我不明白这个 javascript 函数是如何执行的

javascript - 全局变量在 forEach 循环体内显示为 "unexpected identifier"