0

学習目的で、ローカルストレージで機能すると思われる簡単なメッセージングプログラムを作成しています。2次元配列に関するもう1つの質問は、コメントにあります。

<!DOCTYPE HTML> 
    <html>     
        <head>             
            <title>waGwan?</title>     
            <meta charset="utf-8"/>
            <link rel=stylesheet href=comm.css></link>       
        </head>     
            <body>                              
                <section>
                    <p>enter or create passcode: <input type=text id=passcode></p>
                    <input type=button id="button" value="send">
                </section>
                <section id="log"></section>
                <script type="text/javascript">
                    //initializing my passcode. Pass is a two dimensional array that holds passcodes and arrays of corresponding message logs; how can I instantiate my passcode without nil but maintain pass as a two dimensional array, just not include pass?
                    var pass=[mypasscode,nil];
                    document.getElementById("button").onclick=checkPass;
                    function checkPass(){
                        for(i=0;i<pass.length;i++){
                            //exits if passcode exists
                            if(document.getElementById("passcode").value==pass[i]){
                                break;
                            }
                            //if passcode doesn't equal last existing passcode the passcode and a new array (that stores the message log) is added to the pass array
                            else if(document.getElementById("passcode").value!==pass[pass.length-1]){
                                pass.push(document.getElementById("passcode").value,[We can chat here.]);
                            }
                        }
                        document.write("x");
                    }
                </script>
            </body> 
    </html>
4

2 に答える 2

0

いくつかのエラーがありました。そのような

pass.push(document.getElementById("passcode").value,[We can chat here.]);

[We can chat here.]有効ではない。

また、初期化時に配列に配置するこれらの変数は宣言されていません。

 var pass=[mypasscode,nil];

ChromeまたはIEを使用している場合は、f12を押してスクリプト部分を確認することをお勧めします。これにより、問題をより適切にデバッグできます。

次のことを試してください。これはうまくいきますが、あなたがやろうとしていたこととは正確に一致しない場合があります。

ライブデモ

   //initializing my passcode. Pass is a two dimensional array that holds passcodes and arrays of corresponding message logs; how can I instantiate my passcode without nil but maintain pass as a two dimensional array, just not include pass?
                    var pass=["mypasscode","nil"];
                    document.getElementById("button").onclick=checkPass;
                    function checkPass(){
                        for(i=0;i<pass.length;i++){
                            //exits if passcode exists
                            if(document.getElementById("passcode").value==pass[i]){
                                break;
                            }
                            //if passcode doesn't equal last existing passcode the passcode and a new array (that stores the message log) is added to the pass array
                            else if(document.getElementById("passcode").value!==pass[pass.length-1]){
                                pass.push(document.getElementById("passcode").value);
                            }
                        }
                        document.write("x");
                    }​
于 2012-09-10T18:11:12.753 に答える
0
  pass.push(document.getElementById("passcode").value,[We can chat here.]);

                                                       ^^^^^^^^^^^^^^^^^^^
                                                        here is the problem   

これを試して

pass.push(document.getElementById("passcode").value,["We can chat here."]);

以下のようなエラーがあることを警告するneatbeanのようなideを使用できます

ここに画像の説明を入力してください

于 2012-09-10T18:11:38.723 に答える