我已在我的开发系统上实现了以下代码的版本。
function validateTextBox(textBoxId){
var textBox = document.getElementById(textBoxId);
if(document.activeElement.id!= textBox.id){
进行验证
}
}
HTML类似于:
<input type="text" id="ValidateMe" onChange="validateTextBox('ValidateMe');"/>
这个想法是只有在用户完成编辑文本框之后才进行验证,并且与onBlur事件不同,验证仅在文本框的值实际更改时触发。
似乎工作我只是在没有一些评论和反馈的情况下使用它。 我没有看到任何类似的代码示例。请告诉我您对实施的看法以及您可能提出的任何其他想法。
由于
答案 0 :(得分:0)
这是一个很好的解决方案。请记住,onchange事件通常只会在焦点发生变化时触发(即onblur)
如果您想在用户输入时进行验证,可以使用onkeydown / onkeyup / onkeypress,但这样做会更加困难。
此外,您可以使用this
,因此您不必为每个字段分配ID,并记住将其传递给验证功能:
function validate(input_element) {
alert(input_element.value)
}
<input type="text" name="name" onchange="validate(this);"/>