• ベストアンサー

画面上再読み込みをさせたいのですが・・・

プルダウンメニューでセレクトしたら, その画面がかわったということを知らせて次の動作にうつらせたいので、 reloadさせたいのです。 こういうことは可能でしょうか? onChangeを利用したらどうかとは思っているのですが・・・ print "[select name=P5 <\"javascript=onChange:location.reload()\">]" という記述でいいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • cocky
  • ベストアンサー率57% (232/402)
回答No.1

そもそも上記の記述では、Print文の中身がHTMLとして成り立ってないと思いますが。 正しく書くなら print "<SELECT NAME=p5 onChange=\"location.reload(true);\">"; ですね。 ただ、単純にReloadさせるだけだと、せっかくSelectで変更した値がreloadによって再び初期化されてしまうので、 ○Reloadの前にSELECTの中の値をCookieに保存するなどの処理を組み合わせ、Reload後はCookieから値を取得してFormを初期化する ○一度onChangeでsubmitさせてしまって値をサーバに戻し、その上で再度元のフォームを表示するか、次のフォームへ進むかをCGIで判断する などの対策を取らないと、おそらく狙った効果は実現できないと思います。

bori
質問者

お礼

アドバイスまでありがとうございました。 いわれてみれば確かにそうですよね・・・(^O^) 2番目のやり方で再度考え直します。

関連するQ&A