【发布时间】:2011-07-24 03:08:43
【问题描述】:
环境: 请使用IE进行测试
要求: 我有一条警告消息,用于检查用户输入的值是否小于 8 位 - 用户将无法移动到下一个字段....他应该留在同一字段上。
问题: 除了一件事之外,功能一切都很好 - 当用户在小于 8 位的文本字段中输入任何值时,他会以这样的方式返回他的焦点,即光标移动到输入值的第一个字母,而它应该回到输入值的最后一个字母。
代码:
<html>
<body>
<script>
function checkField(field) {
if (field.value.length < 8) {
// Toggle the active element's blur off and back on after the next blur
var active = document.activeElement;
if (active && active !== field) {
var blur = active.onblur || function(){};
active.onblur = function(){ active.onblur = blur };
}
field.focus();
alert("cannot be less than 8 digits");
}
}
</script>
<input type="text" id="test1" onblur='return checkField(this);'>
<br/>
<input type="text" id="test2" onblur='return checkField(this);'>
</tr>
</table>
</body>
</html>
【问题讨论】:
标签: javascript html css focus onblur