ワンクリックで複数フレームへ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がわのミスでした.
すぐに動きました.申し訳ありません.
[上に]
[前に]
[次に]