onchange事件不起作用

时间:2013-01-22 11:59:22

标签: javascript asp.net

我将事件onchange绑定到我的文本框控件:

var tbValue = document.getElementById("tbValue");
    tbValue.onchange = function () {
        var tbSelText = document.getElementById("selectText");
        if (tbValue.value == null) {
            tbSelText.value.replace("sada", "");
        }
        else {
            tbSelText.value.replace("sada", "sada" + tbValue.value + "'");
        }
    }

当我更改tbValue(它是带有onchange事件的文本框控件)时,tbSelText必须同时更改。但事实并非如此。 我做错了什么?

2 个答案:

答案 0 :(得分:2)

使用以下几点验证:

  • 当调用上面的Js代码时,DOM必须先准备就绪 它,否则tbValue将为null。您可以在分配事件之前尝试提醒其值。
  • onchange只会在您更改内容并从文本框中删除时触发(即删除焦点)。

答案 1 :(得分:1)

猜测您希望onchange事件在键入时触发,这不会发生。

onchange事件仅在文本框失去焦点时触发(换句话说,它会模糊)并且内容已更改。 See this MSDN for information ...

  

当提交内容时触发此事件,而不是在值更改时触发此事件。例如,在文本框中,当用户键入时不会触发此事件,而是当用户通过保留具有焦点的文本框来提交更改时。

如果您想在活动时输入活动,则应查看其中一个onkeydownonkeypressonkeydown个活动。