为什么这个Javascript代码不起作用

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

下面是我正在使用的简单代码。但为什么它不起作用。给出 JavaScript 错误。

function postcommnet(wallid) {
    var txtboxid='commentdata_'+wallid;
    var commentdata=document.getElementById(txtboxid).value
}

错误是:document.getElementById(txtboxy) 为空。

请帮忙。

javascript html dom
5个回答
1
投票

这是错误告诉您出了什么问题的少数情况之一:

“document.getElementById(txtboxy) 为空。”

这本质上意味着上面的值是

null
。这意味着 getElementById 没有找到具有您提供的 ID 的元素。


0
投票

检查

txtboxid
的值是否正确为 DOM 元素之一的 id。您的错误消息意味着未检索到该元素,因此该值为 null。


0
投票

找不到具有 id 的元素。我已经检查过如果存在具有给定 id 的元素,代码是否正常工作。

这确实有效:

<html>
<body>
<input value="lol" id="commentdata_1"/>
<script type="text/javascript">
function postcomment(wallid) { var txtboxid='commentdata_'+wallid;

var commentdata=document.getElementById(txtboxid).value

}
postcomment(1);
</script>
</body>
</html>

0
投票

该 id 可能不存在于您的页面上,值得检查。

以下检查 id 是否存在。如果它不存在,它会告诉您它尝试使用的 id。

函数 postcommnet(wallid) {

    var txtboxid='commentdata_'+wallid;

    if(document.getElementById(txtboxid)){
        var commentdata=document.getElementById(txtboxid).value 
    } 
    else{ 
        alert('the id - ' + txtboxid +' does not exist'); 
    }
}

0
投票

我建议使用 Firefox/Firebug 并在函数内设置断点,然后检查

wallid
的值是否符合您的预期,如有必要,检查实时 HTML 以确保该元素确实存在.

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