JS / HTML onChange

时间:2011-02-19 11:01:52

标签: javascript html

有类似的问题。 :)

<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不是我的,所有代码都在一行,所以我真的不能修改它。

2 个答案:

答案 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作为对象。