有类似的问题。 :)
<input type="text" name="npcolor" id="npcolor" size="9" maxlength="9" value="<?=$userinfo->npcolor?>" onchange="change_npcolor()" readonly />
<input type="text" ID="np_sample" size="2" value="" readonly style="background-color:<?=$userinfo->npcolor?>" />
<input type="button" onclick="pickerPopup202('npcolor','np_sample');" value="Change" />
function pickerPopup202正在改变npcolor,但是当更改npcolor时,它不会调用change_npcolor()。当我添加调用change_npcolor的额外按钮时,它可以工作。我也试过了:
document.getElementById("npcolor").onchange='change_npcolor()';
没有成功。
P.S。更改npcolor(pickerPopup202)的JS不是我的,所有代码都在一行,所以我真的不能修改它。
答案 0 :(得分:2)
当您动态更改值时,onchange事件不会触发。您需要自己调用change_npcolor()
方法。你也可以调用document.getElementById("npcolor").onchange().
(效率较低,但最终会在事件处理程序发生变化时更加灵活。)
您只能通过向onchange属性添加带有javascript代码的字符串来更改事件侦听器。你可以这样做,但是:
document.getElementById("npcolor").onchange = function(){
change_npcolor();
}
答案 1 :(得分:0)
document.getElementById("npcolor").onchange='change_npcolor()';
这里你有change_color()
字符串,但这不是正确的语法。
而不是你可以使用
document.getElementById("npcolor").onchange=change_ncolor;
因为change_ncolor
作为对象。