- ベストアンサー
TARGETプロパティの使用方法
こんにちは。まずは下のサンプルをご覧下さい。 ------------------------------------------------- モジュール名称:call.cgi <HTML> <HEAD> <TITLE>CALL</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function op_win() { window.open( "sub1.cgi", "CHG_WIN", "scrollbars=1,status=0,location=0,toolbar=0,menubar=0,resizable=yes,height=460,width=750"); document.send.submit(); } //--> </SCRIPT> </HEAD> <BODY> <DIV ALIGN="cneter"> 下のボタンを押すと新しいウィンドウが開きます。 </DIV> <FORM NAME="fr_obj"> <INPUT TYPE="button" name="b1" onClick="op_win()"> </Form> <FORM NAME="send" METHOD="post" ACTION="sub2.cgi"> <INPUT TYPE="hidden" NAME="H1" VALUE="aaa"> <INPUT TYPE="hidden" NAME="H2" VALUE="bbb"> </FORM> </BODY> </HTML> ------------------------------------------------- 以上です。まず"call.cgi"というモジュールを動かしますと、 ボタンが表示されます。次にそのボタンをクリックすると新しいウィンドウが 表示され、そのウィンドウに"sub1.cgi"の動作結果が表示された後に、 "sub2.cgi"の動作結果が表示されます。 そこでこのサンプルを流用し、似たようなモジュールを作成したのですが、このサンプルのように 同一のウィンドウに2つのモジュールの 結果は表示されず、それぞれ別個のウィンドウが表示されてしまい、 うまく動作しませんでした。 HTMLのスペル名称が間違っていることは無く、何が原因なのか予想もつかない状態です。 みなさんは、このような現象が起きる理由っていうのは後存知ないでしょうか? ささいな情報でもいいんで、何か気づいた事があったらアドバイスの方、 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
確認ですが、sub1.cgiとsub2.cgiを表示する ウィンドウの名前は、一致しているのですよね。 この場合は、ウィンドウ名CHG_WINですよね。 補足願います。 ではでは☆
その他の回答 (2)
- chirorin200x
- ベストアンサー率57% (8/14)
sub1.cgiとsub2.cgiを分ける意味合いと言うのはあるのでしょうか? sub1.cgiにふたつのフォームの値(フォームを分けないでひとつに)を送って、sub1.cgi側から、sub2.cgiへsub1.cgiのデータも含めて送れば、表示する時にふたつとも一緒に表示できると思うのですが?通常cgiはこう使うのでは?
同一の画面に出力したいなら <FORM NAME="fr_obj"> <FORM NAME="send" METHOD="post" CTION="sub2.cgi"> 上記の NAME="send" を NAME="fr_obj" に もしくは document.send.submit(); を document.fr_obj.submit(); すれば、OKかな? #ひょっとしたら、この部分を変更してたりして もし、1画面に同時に2つの結果を表示したいなら フレームを使った方がいいかもしれないですね
補足
これっていうのは単にウィンドウ名称を変えるだけで よろしいのでしょうか? ちなみに自ても「名づけたウィンドウ名称がHTMLの 制限に引っかかっているんじゃないか?」と思って、名称を 変えたりとやってみたんですけどね... 結局はダメでした。(泣) ご解答にあったとおりにフレームにしたんですけど、 ちょっと仕様的にもムリがありましてダメなんですよ。 何か気づかれる事があったら、また宜しくお願いします。
補足
えぇ、そこは間違いないですね。 windo.open関数の第2引数と送信対象タグの targetプロパティの名称は一致させてます。 宜しくおねがいします。