以编程方式更新时,不会调用HTML JavaScript onChange Handler

我发现了一个奇怪的异常HTML文本框和JavaScript,我已经缩小到html / javascript特性,我希望有人能教育我.

我已经下载并实现了一个日历插件,该插件创建了一个带有日历和选择的简单图层,将所选日期传递回文本框.

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

问题是,onchange永远不会被调用…我已经能够用下面这个非常简单的代码来证明它…当点击按钮时它改变了值,然后触发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事件不是由textinput值的程序化更改触发的.您必须在自己更改值后调用要执行的代码.

上一篇:javascript – 如何在输入值以编程方式更改时触发JQuery更改事件?


下一篇:javascript – 检测navigator.online上的更改