关注函数运行过的表单字段(新手)

focus a form field on which the function has run (newbie)

本文关键字:字段 新手 表单 函数 运行      更新时间:2023-09-26

在一个表单字段上运行验证函数后,我试图将焦点集中在该字段的"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