我在HTML页面中有两个输入元素,一个是文本框,另一个是下拉列表(ddl)。用户应输入大于5的值(仅作为示例),然后从ddl中选择一个项目。
我写了一个验证,只要文本框发生变化就会发生。如果该值不大于5,则通知用户该值应大于5并且焦点设置为文本框。 (我正在使用Jquery)
$(".textBox").change( function(){
alert("Quantity should be greater than 5");
$(this).val("");
$(this).focus();
}
现在问题就在于此,
案例1: 当用户输入低于5的值并按逻辑方式按Tab键时,焦点应在警报后返回到文本框,但焦点似乎已移至下拉列表。
案例2: 当用户输入低于5的值并单击下拉列表时,会出现一条警告消息,但下拉列表已经扩展,而不是焦点位于文本框中。
我想知道为什么会发生这种情况以及如何修复它,以便如果该值小于5,则焦点应该放在文本框上。
感谢任何帮助。 毫微
答案 0 :(得分:1)
您可以通过添加以下代码
来阻止按Tab键的默认行为$("#txtBox").keydown(function(event){
if($("#txtBox").val()<5)
{
if (event.keyCode == 9)
event.preventDefault();
}
})