我有以下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脚本按预期运行,显示警报消息,但是因为用户启动的选项卡正在更改焦点,然后由脚本,循环发生。我如何做这项工作,或者我是以错误的方式解决这个问题?