0

'hndlr'という名前の関数が呼び出されたときに配列にいくつかの値を割り当てるページがあります。ファイルのコードは次のとおりです。

<html>
  <head>
    <title>Search Example</title>
  </head>
  <body>
    <script>
    var pageName = new Array();
    var pageLink = new Array();
    var pageDetails = new Array();

      function hndlr(response) {
       // here I assign values to arrays pageName,pageLink,pageDetails using a for loop     
      }

    // Some codes (I cant change anything in here)
    // call the function hndlr here (I cant change anything in here)     
    </script>     

  </body>
</html>

pageName配列をチェックボックスリストに入れ、選択したチェックボックスのpageLinkを別のファイルに渡したい。

bodyタグの終わりの直前で以下のコードを使用してみました。しかし、次のページ(b.php)にデータを渡していない

<form action="b.php" method="post">
<script>
for (var j = 0; j < 5; j++) {
document.write("<input type='checkbox' name='formDoor[]' id='"+j+"' value= '' />"+pageName[j]+"<br />"); 
document.getElementById(j).value = pageLink[j]; 
}
</script>
<input type="submit" name="formSubmit" value="Submit" />
</form>   

出力を印刷すると、チェックボックスの直前に「未定義」の文字列が表示されます。
つまり、pageName[j]は値を返しません。

問題は、これらの配列が2番目の部分に表示されないことです(チェックボックスで試した部分)

これを行う方法を教えてください。

4

1 に答える 1

1

奇妙なことに、あなたのコードは私のために働いています (コードボックスをクリックして表示してください): http://codepad.viper-7.com/4IVobE

このサイトでフォームを送信することはできませんが、2 番目のスクリプト タグ内で配列にアクセスできることがわかります。ローカルサーバーでも試してみたところ、フォームを送信した後、問題なく値にアクセスできましたb.php

于 2012-08-13T04:16:19.280 に答える