You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

document.getElementById失效:输入RGB值后页面背景未变色求修复

修复RGB颜色选择器无响应问题

你的代码存在3个关键问题导致点击按钮后无反应,修复方法如下:

  1. 按钮标签语法错误
    <input type="submit">是自闭合标签,不能用</input>包裹按钮文本,需改为用value属性设置按钮文字。

  2. 未获取输入框的实际值
    JS中直接获取了输入框的DOM元素对象,而非用户输入的数值,需要通过.value属性获取输入值。

  3. 字符串拼接语法错误
    构建rgb()颜色字符串时,)前缺少加号,导致JS语法报错,函数无法正常执行。

另外可以优化label与input的id匹配:label的for属性是大写R/G/B,input的id是小写r/g/b,统一为小写更规范(不修复也不影响功能,但更严谨)。

修复后的完整代码:

<!DOCTYPE html>
<html>
<head>
<title>Color picker</title>
</head>
<body style="text-align: center;">
    <h1> COLOR PICKER </h1>
    <label for="r">R: </label>
    <input type="number" maxlength="3" min="0" max="255" id="r">
    <label for="g">G: </label>
    <input type="number" maxlength="3" min="0" max="255" id="g">
    <label for="b">B: </label>
    <input type="number" maxlength="3" min="0" max="255" id="b"><br><br>
    <input type="submit" onclick="getColor()" value="Get color">
    <script>
    function getColor() {
        var r = document.getElementById("r").value;
        var g = document.getElementById("g").value;
        var b = document.getElementById("b").value; 
        var color = "rgb("+ [r,g,b].join(',') +")";
        document.body.style.background = color;
    }
    </script>
</body>
</html>

内容的提问来源于stack exchange,提问作者SnappyRiffs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 06:30:37