使用文档.使用一个onChange事件,仅在文本框更改完成后才验证文本框

Using document.activeElement with an onChange event to validate a textbox only after textbox change is completed

本文关键字:文本 验证 文档 事件 onChange 一个      更新时间:2023-09-26

我已经在我的开发系统上实现了下面代码的一个版本。

validateTextBox(textBoxId) {
  var textBox = document.getElementById(textBox);
如果(document.activeElement才能。= textBox.id) {
,,, 做验证
,,}
}

HTML类似于:
<input type="text" id="ValidateMe" onChange="validateTextBox('ValidateMe');"/>

这个想法是,验证只发生在用户完成编辑文本框之后,而且,与onBlur事件不同,验证只在文本框的值实际发生变化时触发。

它似乎工作,我只是怀疑使用它没有一些审查和反馈。我没有看到任何类似的代码示例。所以请给我你对实现的想法和你可能有的任何替代想法。

谢谢

这是一个很好的解决方案。请记住,onchange事件通常只会在焦点发生变化时触发。onblur)

如果你想在用户输入时进行验证,你可以使用onkeydown/onkeyup/onkeypress,但这相当困难。

另外,您可以使用this,这样您就不必为每个字段分配id,并记住将其传递给验证函数:

function validate(input_element) {
    alert(input_element.value)
}
<input type="text" name="name" onchange="validate(this);"/>