我有这个javascript函数,应该从3个不同的文本区域中取3个代表rub的值,然后相应地更改不同的文本区域的背景颜色:
function rbg() {
document.getElementById("textarea").style.backgroundColor = "rgb("
+ document.getElementById("rvalue").value + ","
+ document.getElementByID("gvalue").value + ","
+ document.getElementByID("bvalue").value +")";
}
这是html:
<input id="textarea" type="text" name="sometext">
Enter RGB Values:
<input id="rvalue" type="text" maxlength=3 value ="0" name="r" onBlur="rgb()">
<input id="gvalue" type="text" maxlength=3 value ="0" name="g" onBlur="rgb()">
<input id="bvalue" type="text" maxlength=3 value ="0" name="b" onBlur="rgb()">
问题是文本区域的背景根本不会改变,我无法理解为什么!
提前致谢。
答案 0 :(得分:2)
您的函数名为rbg
,但您绑定到rgb
。此外,该函数是getElementById()
(不是ID
)。更新如下:
function rgb()
{
document.getElementById("textarea").style.backgroundColor = "rgb("
+ document.getElementById("rvalue").value + ","
+ document.getElementById("gvalue").value + ","
+ document.getElementById("bvalue").value +")";
}
答案 1 :(得分:0)
document.getElementById()
不是document.getElementByID()
rgb()
不是rbg()
请在发布问题前检查您的控制台。
function rgb() {
document.getElementById("textarea").style.backgroundColor = "rgb(" +
document.getElementById("rvalue").value + "," +
document.getElementById("gvalue").value + "," +
document.getElementById("bvalue").value + ")";
}
<input id="textarea" type="text" name="sometext">Enter RGB Values:
<input id="rvalue" type="text" maxlength=3 value="0" name="r" onBlur="rgb()">
<input id="gvalue" type="text" maxlength=3 value="0" name="g" onBlur="rgb()">
<input id="bvalue" type="text" maxlength=3 value="0" name="b" onBlur="rgb()">