1

私は次のJavaScriptを持っています:

<script type="text/javascript"> 
    function CheckInputValue(ThisField){
        var InputValue = ThisField.value;
        if(InputValue == ""){
            alert('You must enter a value in this field');
            setTimeout(function() {ThisField.focus();},0);
        }
    }
</script>

および次の HTML:

<label class="label1" for="inputb">inputb</label><input class="input1" id="inputb" onblur="CheckInputValue(this)">
<label class="label1" for="inputc">inputc</label><input class="input1" id="inputc" onblur="CheckInputValue(this)">
<label class="label1" for="inputd">inputd</label><input class="input1" id="inputd" onblur="CheckInputValue(this)">

意図した結果は、フィールドがフォーカスを失ったときに値がチェックされ、フィールドが空白のままだった場合にユーザーにプロンプ​​トが表示され、フォーカスがその空白フィールドに設定されることです。

ただし、ユーザーが値を入力せずに 1 つの入力フィールドから別の入力フィールドにタブ移動すると、CheckInputValue スクリプトが期待どおりに実行され、アラート メッセージが表示されます。ループが発生します。これを機能させるにはどうすればよいですか、それとも間違った方法で行っていますか?

4

0 に答える 0