无法设置未定义或空引用的属性“innerHTML”

问题描述 投票:0回答:3

得到这个奇怪的错误。我正在学习javaScript并从某处复制代码并运行它但得到错误。这是代码。将空字符串更改为“Test”之类的任何其他内容我仍会得到相同的错误。

 <script>

    function theAge() {
        var message, x;
        message = document.getElementById("message");
        message.innerHTML = "";
        x = document.getElementById(age).value;
        try {
            x=Number(x);
            if(x=="") throw "is empty";
            if(isNaN(x)) throw "is not a number";
            if(x>10) throw "is too high";
            if(x<5) throw "is too low";
        }
        catch (err) {
            message.innerHTML = "input" + err;
        }
    }
</script>
javascript
3个回答
6
投票

看起来你这里有一个错字

x = document.getElementById(age).value;

尝试

x = document.getElementById("age").value;

2
投票

您必须在html中有一个消息元素和一个年龄元素。并且把年龄期限放在""之间

See it working here

HTML示例:

<div>
    Age: <input type="text" id="age" /> </br>
    Message: <div id="message"> </div> </br>
    <button onclick="theAge()">Click</button>
</div>

JS代码

function theAge() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("age").value;
    try {
        x=Number(x);
        if(x=="") throw "is empty";
        if(isNaN(x)) throw "is not a number";
        if(x>10) throw "is too high";
        if(x<5) throw "is too low";
    }
    catch (err) {
        message.innerHTML = "input" + err;
    }
}

0
投票

您正在使用服务器控件...使用jQuery方法

$( “#控件ID”)HTML()。

© www.soinside.com 2019 - 2024. All rights reserved.