onchange属性在javascript中不起作用

onchange属性在javascript中不起作用,javascript,html,object,Javascript,Html,Object,如果用户使用id=“sc1dc1”(不直接在html中使用”onchange=“)在html输入字段中输入内容,我想启动函数test()。怎么了 HTML: <!DOCTYPE html> <html> <head> <title></title> </head> <body> <input type="text" id="sc1dc1" > </body> </html>

如果用户使用
id=“sc1dc1”
(不直接在html中使用
”onchange=“
)在html输入字段中输入内容,我想启动函数
test()。怎么了

HTML:

<!DOCTYPE html>
<html>
<head>
 <title></title>
</head>
<body>
 <input type="text" id="sc1dc1" > 
</body>
</html>

javascript应该是这样的:

var x=document.getElementById(“sc1dc1”);
x、 onchange=测试;
函数test(){alert(“test”)}

您需要将函数
test
分配给元素的
oninput
属性
x
应该是
HTMLInputElement
,而不是元素的值

改变

var x = document.getElementById("sc1dc1").value;

如果希望在输入文本时而不是在输入失去焦点后立即触发事件处理程序,请使用
oninput
而不是
onchange

var x=document.getElementById(“sc1dc1”);
x、 输入=测试;
函数test(){alert(“test”)}

关于
onchange
事件的一点是,它们只有在
字段失去焦点时才会触发。如果您想要立即响应,您应该像这样使用
oninput

x.oninput = test;
您还需要使
x
等于实际元素,而不是元素的值。删除:

.value
从这一行:

var x = document.getElementById("sc1dc1").value;
我会修好的

使用
onchange
进行演示:

var x=document.getElementById(“sc1dc1”);
x、 onchange=测试;
功能测试(){
警报(“测试”)
};

首先:获取元素的
值,然后处理其
onchange
属性。这是错误的。该值没有该属性。您需要删除
.value
。另外,
onchange
仅在您离开输入字段时触发。如果需要立即响应,请使用
oninput
而不是
onchange
.value
var x = document.getElementById("sc1dc1").value;