如何在以编程方式更新时不会调用HTMLJavaScript onChange Handler?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

我在HTML文本框和JavaScript中发现了一个奇怪的异常,我缩小到了html/javascript特性。

我已经下载并实现了一个日历插件,它用日历创建了一个简单的图层,并在选择的时候将选定的日期传回文本框。

我想要做的是捕捉文本框更改时(使用onchange),然后调用Ajax函数来更新数据库.

问题是,一旦改变了就永远不会被召唤.。我用下面这个非常简单的代码证明了这一点.当单击按钮时,它会更改值,然后触发onchange并显示一个警告框.

<input type="button" name="setValue" id="setValue" value="setValue" onClick="document.getElementById('textinput').value='Updated'">&nbsp;
<input type="button" name="clearValue" id="clearValue" value="clearValue" onClick="document.getElementById('textinput').value=''"><br>
<input type="text" name="textinput" id="textinput" onChange="alert(this.name)">

这是标准吗?有解决办法吗?

提问于
用户回答回答于

onchange事件不是由文本输入值的编程更改触发的。你必须在自己更改值之后调用要执行的代码。

用户回答回答于

直到字段失去焦点/另一个编辑字段获得焦点时,OnChangss才会被调用。

扫码关注云+社区

领取腾讯云代金券