ワンクリックで複数フレームへCGIを動作させるには?

[上に] [前に] [次に]
アラ [E-Mail] 2000/03/29(水) 11:44:00
3つ以上のFrameがあるページで,あるフレームからのクリックで他の
2つ以上のFrameをターゲットにcgiを走らせる方法はどのようにしたら
いいでしょう?

a 2000/03/29(水) 13:00:04
たぶん、不可能でしょう!
1回のアクションで、複数のCGIを起動し、ターゲット別に出力するなんて...。

いや、今思いついた、ワンクリックで、CGIを起動し、
CGI出力でフレームを解除して、新たにフレームを作成し、
そのフレーム毎にCGIを起動するCGIを作成する。
もちろん、フレーム毎のCGIも必要。

この文、理解できるだろーか、ちょっと心配。
本当にできるかどうかも、ちょっと心配。

フシギダネ 2000/03/29(水) 13:18:43
              ・
              ・
              ・
<SCRIPT LANGUAGE=JavaScript>
<!--
function go() {
  window.parent.frameA.locatipon.href = "aaa.cgi";
  window.parent.frameB.locatipon.href = "bbb.cgi";
}
// -->
</SCRIPT>

<FORM>
<INPUT TYPE=BUTTON onClick="go();">
</FORM>
              ・
              ・
              ・

でどうでしょう?

あら 2000/03/29(水) 13:52:44
[[解決]]
ありがとうございます!
フシギダネさんのアプローチで問題クリアーしました.
発言頂きました方,感謝感謝です!

あら 2000/03/29(水) 15:01:19
これらのCGIに引数をもたせるにはどうすればいいんだしょう?
     ・
     ・
window.parent.frameA.location.href="aaa.cgi?arg1";
     ・
     ・
としても動作してくれません.

a 2000/03/29(水) 15:17:17
>window.parent.frameA.location.href="aaa.cgi?arg1";

window.parent.frameA.location.href="aaa.cgi?arg1name=arg1";
とか

当然、漢字などの引数は自力でURLエンコードしないと...。

フシギダネ 2000/03/29(水) 15:43:36
CGIはPOST、GET両方取得できる様にしていますか?
具体的には(perlの場合)

$method = $ENV{'REQUEST_METHOD'};
if( $method eq "GET" ) {        # GETの場合、環境変数QUERY_STRINGより取得
  $buffer = $ENV{'QUERY_STRING'};
}
elsif( $method eq "POST" ) {    # POSTの場合、標準入力より取得
  read( STDIN, $buffer, $ENV{'CONTENT_LENGTH'} );
}

ちなみに
aaa.cgi?arg1name=arg1 は、GETになります。

あら 2000/03/29(水) 17:28:39
すみません.勘違いでした.
window.parent.frameA.location.href="aaa.cgi?1"
をやりたかっただけで,CGIがわのミスでした.
すぐに動きました.申し訳ありません.

[上に] [前に] [次に]