以下是我正在使用的简单代码。但为什么它不起作用。给出javascript错误。
function postcommnet(wallid) {
var txtboxid='commentdata_'+wallid;
var commentdata=document.getElementById(txtboxid).value
}
错误是:document.getElementById(txtboxid)为空。
请帮忙。
答案 0 :(得分:1)
这是错误告诉你错误的少数情况之一:
“document.getElementById(txtboxid)为空。”
这实际上意味着上述值为null
。这意味着getElementById找不到具有您提供的ID的元素。
答案 1 :(得分:0)
检查txtboxid
的值是否正确为DOM元素之一的id。您的错误消息表示未检索到该元素,因此该值为null。
答案 2 :(得分: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>
答案 3 :(得分:0)
您的网页上可能不存在该ID,值得检查。
以下检查ID是否存在。如果它不存在,它会告诉你它试图使用的id。
function postcommnet(wallid){
var txtboxid='commentdata_'+wallid;
if(document.getElementById(txtboxid)){
var commentdata=document.getElementById(txtboxid).value
}
else{
alert('the id - ' + txtboxid +' does not exist');
}
}
答案 4 :(得分:0)
我建议使用Firefox / Firebug并在函数中设置断点,然后检查wallid
的值是否符合预期,并在必要时检查实时HTML以确保该元素的作用,事实上,存在。