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

时间:2011-01-06 14:49:15

标签: javascript html

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

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

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

请帮忙。

5 个答案:

答案 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以确保该元素的作用,事实上,存在。