0

我必须询问用户的姓名和身份证号码。使用诸如模糊或提交事件之类的事件处理程序,并检查用户文本框是否为空并且 id 是一个数字,如果为假,我必须设置一个警报框。

这是我的html:。

<form id = "form" action = "">
     <p>
         <label class = "classname" for = "name">Username:</label>
         <input type = "text" id = "name" placeholder = "enter your Username">
     </p>
     <p>
         <label class = "classname" for = "idnum">ID Number:</label>
         <input type = "text" id ="idnumber" placeholder = "enter id number">
     </p>
</form>

这是我的 Javascript 代码:

var helpArray = ["your doing it wrong", "your wrong"]
var helpText;

function init(){
     helpText = document.getElementById("helpText");
     registerListeners(document.getElementById("name"),0);
     registerListeners(document.getElementById("idnumber"),0);
}

function registerListeners(object, messageNumber){
     object.addEventListener( "blur",function(){
          helpText.innerHTML = helpArray [0];
     }, false);

     object.addEventListener( "focus",function(){
          helpText.innerHTML = helpArray [messageNumber];
     }, false);
}
window.addEventListener("load",init,false);

如您所见,我一直在尝试按照我的教科书进行,没有取得太大进展。

4

1 回答 1

1

您可以使用如下所示的简单代码,而不是多次调用函数。在 javascript 中多次调用函数可能会导致性能成本

window.onload = init;

    function init(){
        helpText = document.getElementById("helpText");
        document.getElementById("name").onblur =  function() {
          helpText.innerHTML = helpArray [0];}, false);
       }
       document.getElementById("idnumber").onblur =  function() {
          helpText.innerHTML = helpArray [0];}, false);
       }
     }

你可以像上面的例子那样为任何事件分配函数,你也可以使用 onfocus,onkeyUp..etc..

于 2012-11-24T06:40:57.533 回答