文本区域的背景颜色不改变

时间:2016-03-03 20:17:00

标签: javascript html

我有这个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()">

问题是文本区域的背景根本不会改变,我无法理解为什么!

提前致谢。

2 个答案:

答案 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 +")";
}

jsFiddle Demo

答案 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()">