0

テキスト ボックスに onchange イベントを書き込みました。値が10未満の場合、カーソルをテキストボックスにフォーカスする必要があることを意味します

  function myFunctionId (elt) {
       alert(elt.id);
        if(elt.value < 10) { alert(elt.value);
       document.getElementById("tester").focus();
        }    
    }

http://jsfiddle.net/dRkuv/588/

しかし、その焦点は機能していません。どうすればこれを達成できますか?

4

5 に答える 5

1

これが私の回避策です

function myFunctionId (elt) {
    if(elt.value < 10) { 
        window.setTimeout(function(){
            elt.focus();
        },0);
    }    
}

myFunction は elt がフォーカスを失う直前に呼び出されるため、フォーカスを呼び出すと機能しません。ただし、setTimeout 関数を使用すると、少し後で呼び出されます。

于 2013-10-08T04:37:20.543 に答える
1
function myFunctionId (elt) {
var val=document.getElementById("tester").value;

       alert(elt.id);
        if(val < 10) { alert(val);
       document.getElementById("tester").focus();
       return false;
        }    
    }
于 2013-10-08T04:26:20.563 に答える
0

これを試すことができます

onblur="myFunctionId(this);"テキストフィールドで

function myFunctionId (elt) {
   //alert(elt.id);
    if(elt.value.length < 10) { alert(elt.value);
   elt.focus();
    }    
}
于 2013-10-08T05:05:19.920 に答える