JavaScpript の open.window を使うと、値がGET で渡ってしまいます。
POST でデータを渡したいので、FORM で window を 3つ開く方法って
ないでしょうか?

<FORM method=POST name=form1 target="window1" ACTION="/cgi-bin/search1.pl">
<input type="text" name="searchword1">
</form>
<FORM method=POST name=form1 target="window2" ACTION="/cgi-bin/search2.pl">
<input type="text" name="searchword2">
</form>
<FORM method=POST name=form1 target="window3" ACTION="/cgi-bin/search3.pl">
<input type="text" name="searchword3">
</form>

の 3 つのフォームを 1 つの
<input type="submit" name="Search" value=" 検索 ">
で起動させるってことです。
(または、open.windows で値を渡すとき、POST で渡したい)

よろしくお願いします。

A 回答 (2件)

submitボタンを押下したときに、順番に各FORMをsubmitかけてやればいいのでは?


ちなみにformの名前は別々に付けた方がいいと思います。
それぞれに違う名前をつけたとして、

funtion OpenWin(){
 document.form1.submit();
 document.form2.submit();
 document.form3.submit();
}

とすれば、ぽこぽこ出てきますけど。

それと、targetは"_blank"にする方がいいと思いますよ。
まぁ、同名のwindow名がなければ、別windowで開きますが、"window1"という名前のwindowを持っている他の人のサイトを別ブラウザで開いていたら、そちらが書き変わっちゃいます。

window.openに、POSTでデータを渡すことは不可能です。
ただし、一度window.openで開いたwindowを、submitで書き換えることは可能です。
targetのnameはbluemintさんが書かれている物そのままで、

funtion OpenWin(){
 window.open('URL','window1','設定');
 window.open('URL','window2','設定');
 window.open('URL','window3','設定');

 document.form1.submit();
 document.form2.submit();
 document.form3.submit();
}
* URLと設定はしかるべき値を入れてくださいね。

と、ダミーで三つwindowを開いておいて、それに対してsubmitすれば、POSTでデータが渡せるかもしれません。

今手元に環境がなくてテストができないので、あくまでも「渡せるかもしれない」ですが・・・。
真っ白なダミーhtmlを一つ用意して置いて開けばいいと思います。
    • good
    • 0
この回答へのお礼

POST データはまだ渡してませんが、教えて頂いたやり方で
Window が開きました。なんか出来そうなカンジです。

ありがとうございます。

お礼日時:2002/02/15 02:16

No.1 の回答の補足を。



HIROYO> と、ダミーで三つwindowを開いておいて、それに対してsubmitすれば、POSTでデータが渡せるかもしれません。

渡せますよ。

仮に開いておくウィンドウには、真っ白なダミーを用意しておいても良いし、
about:blank を指定しても良いです。

window.open('about:blank', ウィンドウ名, オプション);
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qwindow.openがIEでエラーにされる

こんにちは。

今作成中のサイトで、地図印刷用ページをポップアップ表示させるため、以下のようなコードをつくりました。

html側
<a href="javascript:printwindow('map_print.html');">

js側
function printwindow(url){
window.open(url,document.title,"width=640,height=850,left=0,top=0,scrollbars=1,resizable=1");
}

しかし、これではFirefoxでは新ウィンドウがエラーなしで表示されたのですが、IEでは「ページでエラーが発生しました」と言われ、ウィンドウが開きません。エラー内容は以下の通りです。

ライン:4
文字:2
エラー:引数が無効です。
コード:0
url:(エラーを起こしたファイル)

色々と試したり、検索したりもしたのですが原因究明に至れないため質問いたします。window.openがIEではなにか問題がありそうな気配だけはわかった気がします(的外れなのかもしれませんが)。原因をお教えいただけますと大変助かります。よろしくお願い致します。

こんにちは。

今作成中のサイトで、地図印刷用ページをポップアップ表示させるため、以下のようなコードをつくりました。

html側
<a href="javascript:printwindow('map_print.html');">

js側
function printwindow(url){
window.open(url,document.title,"width=640,height=850,left=0,top=0,scrollbars=1,resizable=1");
}

しかし、これではFirefoxでは新ウィンドウがエラーなしで表示されたのですが、IEでは「ページでエラーが発生しました」と言われ、ウィンドウが開きません。エラー内容は以...続きを読む

Aベストアンサー

> htmlファイルとの差といえば、<title>タグが無題ドキュメントか正式名か、

これが原因な気がします。window.openの第二引数で使用できない文字を設定しているのではないかと。具体的に何が駄目かは分かりませんが、例えば「\」とかをタイトルに入れるとエラーが発生しました。


人気Q&Aランキング

おすすめ情報