0

ユーザーの名前とID番号を尋ねる必要があります。ぼかしイベントや送信イベントなどのイベントハンドラーを使用して、ユーザーテキストボックスが空ではなく、IDが数字であることを確認し、falseの場合はアラートボックスを表示する必要があります。

これが私の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 などを使用することもできます。

于 2012-11-24T06:40:57.533 に答える