Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onchange事件不发生';行不通_Javascript_Asp.net - Fatal编程技术网

Javascript onchange事件不发生';行不通

Javascript onchange事件不发生';行不通,javascript,asp.net,Javascript,Asp.net,我将事件onchange绑定到我的textbox控件: var tbValue = document.getElementById("tbValue"); tbValue.onchange = function () { var tbSelText = document.getElementById("selectText"); if (tbValue.value == null) { tbSelText.value.replace

我将事件onchange绑定到我的textbox控件:

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事件的textbox控件)时,tbSelText必须同时更改。但事实并非如此。
我做错了什么?

我猜您希望在键入
onchange
事件触发,但这不会发生

onchange
事件仅在文本框失去焦点(换句话说,它模糊)以及内容发生更改时触发

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


如果您想在键入时发生事件,您应该查看
onkeydown
onkeypress
onkeydown
事件中的一个。

onchange
事件仅在文本框失去焦点(换句话说,它模糊)以及内容发生更改时触发

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


如果在键入时需要事件,则应查看
onkeydown
onkeypress
onkeydown
事件之一。

用以下几点进行验证:

  • 当调用上述Js代码时,DOM必须在 否则,tbValue将为null。您可以在分配事件之前尝试警告其值
  • onchange仅在您将更改某些内容并从文本框中移出制表符(即移除焦点)时才会触发

用以下几点进行验证:

  • 当调用上述Js代码时,DOM必须在 否则,tbValue将为null。您可以在分配事件之前尝试警告其值
  • onchange仅在您将更改某些内容并从文本框中移出制表符(即移除焦点)时才会触发

让我们看看相关的HTML。您是否希望在键入时触发事件?如果是这样,就不会<如果文本框出现模糊,则code>onchange将触发。您可能希望在方法的最顶端粘贴一个警报。如果你看到警报,那么它正在发射,上面的代码在某个地方出错。如果您没有看到警报,那么您没有在htmlOne main thing中正确连接警报以进行检查,如果这是一个带有母版页的asp.net页面,那么您的控件可能具有不同的ID,例如$C_1000_BodyContent_tbValue。检查浏览器中的html以确保您检查的ID正确。让我们查看关联的html。您是否希望在键入时触发事件?如果是这样,就不会<如果文本框出现模糊,则code>onchange将触发。您可能希望在方法的最顶端粘贴一个警报。如果你看到警报,那么它正在发射,上面的代码在某个地方出错。如果您没有看到警报,那么您没有在htmlOne main thing中正确连接警报以进行检查,如果这是一个带有母版页的asp.net页面,那么您的控件可能具有不同的ID,例如$C_1000_BodyContent_tbValue。检查浏览器中的html,确保检查的ID正确。