Javascript onblur .focus循环疯狂

时间:2013-07-09 20:16:15

标签: javascript onblur

我有以下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)">

预期的结果是当一个字段失去焦点时,会检查该值,并且如果该字段留空,将提示用户,并且焦点将设置为该空白字段。

但是,当用户从一个输入字段切换到另一个输入字段而不输入值时,CheckInputValue脚本按预期运行,显示警报消息,但是因为用户启动的选项卡正在更改焦点,然后由脚本,循环发生。我如何做这项工作,或者我是以错误的方式解决这个问题?

0 个答案:

没有答案