首页 > 解决方案 > onblur 功能对我不起作用-可能是我的编码

问题描述

我似乎无法弄清楚为什么 onblur 不适用于我的在线课堂作业。我知道在使用 Chrome 时 onblur 功能存在问题,但我尝试了 Firefox,但也没有用。我的同学们成功使用onclick="this.focus()"了,但这对我也不起作用。我完全按照教练在视频中所做的那样复制了脚本,除了使用我自己的变量并且没有运气!

function checkzip() {
  var zip = document.getElementById("zipcode").value;
  var regex = /^[0-9]{5}$/;

  if (regex.test(zip)) {
    document.getElementById("zipmessage").innerHTML = "Valid";
  } else {
    document.getElementById("zipmessage").innerHTML = "Please enter a 5 digit numeric zip code";
  }
}
<tr>
  <td>Zip Code:</td>
  <td><input id="zipcode" name="zipcode" type="text" onclick="this.focus()" onblur="checkzip();" required/></td>
</tr>

标签: javascripthtml

解决方案


您的代码似乎很好 - 我怀疑您缺少该zipmessage元素。

function checkzip() {
    var zip = document.getElementById("zipcode").value;
    var regex = /^[0-9]{5}$/;
    
    if(regex.test(zip)) {
        document.getElementById("zipmessage").innerHTML = "Valid";
        }
    else {
        document.getElementById("zipmessage").innerHTML = "Please enter a 5 digit numeric zip code";
        }
}
    <div id="zipmessage"></div> 
    
    <input id="zipcode" name="zipcode" type="text" onclick="this.focus()" onblur="checkzip();" required/>


推荐阅读