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 が述べたように、function キーワードが定義から欠落していました。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 に答える