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;