- ベストアンサー
配列の格納方法に関する質問
- PHPで生成したhiddenフィールドに値を代入する方法を教えてください。
- JavaScriptで配列のような形式で値を代入するプログラムを作っていますが、値が代入されません。
- hiddenフィールドへの格納方法について詳しく教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 サンプルは動いた。うまくはいきません。ではどうしたらいいのかサッパリわからないです。 (それを配列と呼ぶかどうかはわかりませんが)nameとvalueが設定されたinputがform配下にあればformの送信時に送られるハズなんですけどね~。 それとも送信ではなく受け取り側(次のページ)に問題があるのでしょうか?(送信できたかどうかはformのmethodをgetにしておけば簡単に確認できますが) とりあえずサンプルが動いたことで続きを自分で解決するなら質問を終了する、そうでなければ第三者がわかるような情報を捕捉するかしてくださいませ。
その他の回答 (1)
- steel_gray
- ベストアンサー率66% (1052/1578)
nameに[n]を付けた配列みたいな記述が配列として扱えるのはphpの勝手な拡張ですので、php以外では単なる文字列となります。 なので、javascriptで扱う場合はあくまで文字列にしてやる必要があります。 また、getElementsByNameというのは常に配列を返してくるので、それが必ず1つしか無いケースでは0番目にアクセスします。 以下、試してないけどサンプル。 function user_num() { var i=1; while(1){ var o= document.getElementsByName('user_no['+i+']')[0]; if(! o) break; o.value = document.getElementById('users').options[i-1].value; alert(o.value); i++; } document.user_select.user_no = new Array(i); } 最後のところ document.user_select.user_no には新しい配列を代入してるけど何に使ってるのかわからないのでとりあえずそのままにしてます。
補足
早速のご回答ありがとうございます。サンプルうまく動きました。 最終的には、配列(文字列)user_no[1]、user_no[2]をpostまたは、getで 次のページに渡してあげたく思っています。そのため、user_no[1]などを hiddenフィールドで生成しているのですが、うまくいきません。