• ベストアンサー

選択されたリストを次のページでも保持する

<form> <select> .... ...... <option selected>option1</option> <option>option2</option> <option>option3</option> <option>option4</option> </select> .... ..... </form> 上記のリストボックスで仮にoption4を選択して 送信した場合、次のページでもoption4が選択されている 状態にしたいのですがどうしたらよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.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; ?>

juna_voyage
質問者

お礼

おかげで思ったとおりの動作になりました。 同時にもうちょっと頭を柔らかくして考えないとだめだなぁと反省しました。 もっともシンプルで効果的な書き方でした。 ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

どうしてもというのなら、COOKIEで受け渡しをするのが妥当でしょう。 もちろんGETで渡しておいて、パラメータを解釈して実現することも 不可能ではないですが、かなり煩雑になります。 見方をかえて、フレームのページにして、データの受け渡しはすべて parent経由でおこなう・・・などありますが、いずれにしても 姑息な手法なので、お勧めすべきものはありません。 基本的にはjavascriptの範疇ではなく、PHPやCGIで実現するべきでしょう。

juna_voyage
質問者

お礼

おそらくjavascriptでできるのかなと思ってここに投稿しました。 確かにフレームでもできますが今ではあまり見ない手法ですよね。 よろしければPHPを使ってだとどうなるのかご教授下さい。 よろしくお願いします。

関連するQ&A