• ベストアンサー

Locationでターゲット指定はできますか?

print("Location: ../admin.cgi?action=head&page=cnn\n\n"); のように他のcgiへページを移行しているのですが、フレームの中に cgiファイルを出力しているのでtargetの指定が必要になります。 Locationを使ってtarget指定は出来ないのでしょうか? もし、やったことのある人がいればご指導ください。

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

Location ヘッダでは指定できないので、その Location ヘッダを書き出す CGI に 起動をかける form で target を指定しましょう。 <form action="xxx.cgi" target="admin.cgi の内容を表示したいターゲット"> xxx.cgi が > print("Location: ../admin.cgi?action=head&page=cnn\n\n"); を吐き出すつもりで書いてます。

DKG
質問者

補足

ありがとうございます。 やっぱりLocationをつかってはtarget指定できないんですね。 現状では1つのアクションを起こしたときにフレーム内の2つのページを更新したいので(しかも異なったcgiファイルを用いて)、むりみたいですね。 1つのsubmitで2つのformを送信するのも無理ですもんね。 もうcgiの構成を変えるしかないみたいです。

その他の回答 (1)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

> 1つのsubmitで2つのformを送信するのも無理ですもんね JavaScript を使って良いんだったらできますよ。 <script type="text/javascript> function submit_twice() {  document.form1.submit();  document.form2.submit(); } </script> <form name="form1" action="1.cgi" target="target1">  …  <input type="button" value="送信" onClick="submit_twice()">  <!-- このボタンで、同時に二つ submit -->  <!-- type="submit" なボタンは作らない --> </form> <form name="form2" action="2.cgi" target="target2">  …  <!-- こっちの form にはボタンを作らない --> </form> って感じ。 同じパラメータを二つに送るのであれば、form2 の方は type="hidden" にして submit() する前に、値を複写してあげれば良いですね。

関連するQ&A