![](/img/trans.png)
[英]Is it possible to change document.activeElement in JavaScript?
[英]Using document.activeElement with an onChange event to validate a textbox only after textbox change is completed
我已经在我的开发系统上实现了以下代码的一个版本。
function validateTextBox(textBoxId) {
var textBox = document.getElementById(textBoxId);
如果(document.activeElement.id.= textBox.id){
做验证
}
}
HTML 类似于:
<input type="text" id="ValidateMe" onChange="validateTextBox('ValidateMe');"/>
这个想法是,只有在用户完成编辑文本框后才会进行验证,并且与 onBlur 事件不同,验证仅在文本框的值实际更改时才会触发。
它似乎有效,我只是对在没有一些审查和反馈的情况下使用它持怀疑态度。 我还没有看到任何类似的代码示例。 因此,请告诉我您对实施的想法以及您可能有的任何替代想法。
谢谢
这是一个很好的解决方案。 请记住,onchange 事件通常只会在焦点更改时触发(即 onblur)
如果您想在用户键入时进行验证,您可以使用 onkeydown/onkeyup/onkeypress 但这要困难得多。
此外,您可以使用this
,因此您不必为每个字段分配 id 并记住将其传递给 validate function:
function validate(input_element) {
alert(input_element.value)
}
<input type="text" name="name" onchange="validate(this);"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.