2

应该在输入字段和发送按钮之间插入输入的文本,但它没有注意到。

<body>                              
    <section>
        <p>passcode: <input type=text id=passcode></p>
        <section id=middle></section>
        <p><input type=button id=button value=send></p>
    </section>
    <script type="text/javascript">
        var log=new Array();
        document.getElementById("button").onclick=exlog();
        exlog(){
            log.push(document.getElementById("passcode").value)
            for(i=0;i<log.length;i++){
            document.getElementById("middle").innerHtml=log[i];
        }
    }
    </script>
</body>
4

4 回答 4

3

改变

        document.getElementById("middle").innerHtml=log[i];

        document.getElementById("middle").innerHTML=log[i];

参考:https ://developer.mozilla.org/en-US/docs/DOM/element.innerHTML

于 2012-09-08T04:49:56.117 回答
2

您的exlog函数缺少 function 关键字,并且您错误地设置了 onclick 处理程序。

innerHtml应该是innerHTML

    document.getElementById("button").onclick=exlog;
    function exlog(){
        log.push(document.getElementById("passcode").value)
        for(i=0;i<log.length;i++){
        document.getElementById("middle").innerHTML=log[i];
    }
于 2012-09-08T04:45:21.023 回答
1

我注意到您的代码存在一些问题。最重要的是,您应该使用innerHTML,而不是innerHtml(注意大写)。

此外,您需要小心处理函数的方式。只放 exlog(){} 不会创建函数。相反,您应该使用 function 关键字。

最后,您要将 onclick 处理程序设置为函数 exlog。您所使用的实际上会将 onclick 处理程序设置为评估 exlog 函数的结果。

这是一个包含所有建议更改的解决方案:

<body>                              
<section>
    <p>passcode: <input type=text id=passcode></p>
    <section id=middle></section>
    <p><input type=button id=button value=send></p>
</section>
<script type="text/javascript">
    var log=new Array();
    document.getElementById("button").onclick=exlog;
    function exlog(){
        log.push(document.getElementById("passcode").value)
        for(i=0;i<log.length;i++){
alert(log[i]);
        document.getElementById("middle").innerHTML=log[i];
    }
}
</script>
</body>
于 2012-09-08T04:53:59.813 回答
0

您正在通过像这样使用它来评估函数:exlog(),因为 exlog 没有 return 语句,所以它评估为undefined,浏览器不会执行。

如果你想分配它,你可以使用它的名字exlog

此外,正如 Teemu 和 Musa 所提到的,函数的定义中缺少关键字exlog

另外,大小写innerHTML必须准确,混合大小写是行不通的。

<body>                              
    <section>
        <p>passcode: <input type=text id=passcode></p>
        <section id=middle></section>
        <p><input type=button id=button value=send></p>
    </section>
    <script type="text/javascript">
        var log = [];
        document.getElementById("button").onclick = exlog; // <== no need to evaluate the function, just assign it.
        function exlog(){ // <== as pointed out below function keyword was missing
            log.push(document.getElementById("passcode").value);
            document.getElementById("middle").innerHTML += log[log.length - 1]; // <== needs to be capitilized exactly like this
        }
    </script>
</body>
于 2012-09-08T04:45:51.920 回答