- ベストアンサー
選択されたリストを次のページでも保持する
<form> <select> .... ...... <option selected>option1</option> <option>option2</option> <option>option3</option> <option>option4</option> </select> .... ..... </form> 上記のリストボックスで仮にoption4を選択して 送信した場合、次のページでもoption4が選択されている 状態にしたいのですがどうしたらよいでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
個人的には最近汎用性を重視してこんな書き方をすることが多くなりました。 <?PHP $selected["hoge"][$_REQUEST['hoge']]=" selected"; print <<<eof <form mothod="post" action="{$_SERVER['PHP_SELF']}"> <select name="hoge"> <option value="1"{$selected['hoge']['1']}>option1</option> <option value="2"{$selected['hoge']['2']}>option2</option> <option value="3"{$selected['hoge']['3']}>option3</option> <option value="4"{$selected['hoge']['4']}>option4</option> </select> <input type="submit" value="送信"> </form> eof; ?>
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
どうしてもというのなら、COOKIEで受け渡しをするのが妥当でしょう。 もちろんGETで渡しておいて、パラメータを解釈して実現することも 不可能ではないですが、かなり煩雑になります。 見方をかえて、フレームのページにして、データの受け渡しはすべて parent経由でおこなう・・・などありますが、いずれにしても 姑息な手法なので、お勧めすべきものはありません。 基本的にはjavascriptの範疇ではなく、PHPやCGIで実現するべきでしょう。
お礼
おそらくjavascriptでできるのかなと思ってここに投稿しました。 確かにフレームでもできますが今ではあまり見ない手法ですよね。 よろしければPHPを使ってだとどうなるのかご教授下さい。 よろしくお願いします。
お礼
おかげで思ったとおりの動作になりました。 同時にもうちょっと頭を柔らかくして考えないとだめだなぁと反省しました。 もっともシンプルで効果的な書き方でした。 ありがとうございました。