下面是我正在使用的简单代码。但为什么它不起作用。给出 JavaScript 错误。
function postcommnet(wallid) {
var txtboxid='commentdata_'+wallid;
var commentdata=document.getElementById(txtboxid).value
}
错误是:document.getElementById(txtboxy) 为空。
请帮忙。
这是错误告诉您出了什么问题的少数情况之一:
“document.getElementById(txtboxy) 为空。”
这本质上意味着上面的值是
null
。这意味着 getElementById 没有找到具有您提供的 ID 的元素。
检查
txtboxid
的值是否正确为 DOM 元素之一的 id。您的错误消息意味着未检索到该元素,因此该值为 null。
找不到具有 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>
该 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');
}
}
我建议使用 Firefox/Firebug 并在函数内设置断点,然后检查
wallid
的值是否符合您的预期,如有必要,检查实时 HTML 以确保该元素确实存在.