HTML 文本框 TextBox 内容改变事件

原文地址

最近在做的程序中需要这样的一个功能:当HTML文本框内容生发变化时执行JavaScript函数.


最初的想法是使用 onchange ,但这个事件只有当文本框失去焦点时才会触发.

后来就找到了onpropertychange事件.如下:
"textRoad" type="text" size="15" onpropertychange="alert(this.value);">

但很快发现存在问题.在使用微软拼音输入法和部分五笔输入法时,每次有键按下都会触发 onpropertychange 事件.

想来想去,改于onkeyup事件加判断条件来处理,代码如下:
<SCRIPT language="JavaScript">
var sOldValue;
sOldValue = "";

function tttt(vNewValue)
{
    //alert(vNewValue);
    if (sOldValue != vNewValue)
    {
        alert(vNewValue);
        sOldValue = vNewValue;
    }
}
script>
<body">

<input id="textRoad" type="text" size="15" onKeyUp="tttt(this.value)">
body>
由一个变量sOldValue记录文本框原始值,onKeyUp时,判断新值与原始值比较是否有发生变化.若有变化时,执行相应的处理.

现在基本实现了要达到的目标.唯一的遗憾是:微软拼音比较诡异,是先把字输入到文本框,再由用户选择,再修改文本框内的值.

你可能感兴趣的:(Asp.Net开发)