【发布时间】:2015-04-02 13:45:44
【问题描述】:
在触发该字段的“onblur”事件的表单字段上运行验证功能后,我试图将焦点放在表单字段上。如果它无效但似乎没有这样做,我想要做的是让焦点重新回到那个领域。我在网上寻找答案,但找不到解决方案。
HTML:
<input type="text" id="name" name="name" value="" onblur="validateName();"/>
JavaScript:
function validateName() {
var name = document.getElementById("name");
if (name.value==""||!isNaN(name.value)){
alert("Please enter a valid name. You have left the field blank or entered a number.");
document.getElementById("name").focus();
}
};//END validateName
document.getElementById("name").focus(); 未按预期工作。
【问题讨论】:
-
“没有按预期工作。” 到底发生了什么?你有任何错误吗?
-
你确定它不起作用吗?我只是在代码 sn-p 上尝试过,它可以工作
-
你在那里使用了冗余事件,onblur 清除焦点,应该在
submit或keyup上调用验证函数 -
如果该字段为空白或为数字,我希望
<input id="name">获得focus();然而,即使"name"没有通过验证(即它的""或!isNaN),焦点也会转移到下一个字段。
标签: javascript