• ベストアンサー

open.window(javascript) を使わないで、新規windowを3つ開く方法

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 で渡したい) よろしくお願いします。

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

  • ベストアンサー
noname#1785
noname#1785
回答No.1

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を一つ用意して置いて開けばいいと思います。

bluemint
質問者

お礼

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

その他の回答 (1)

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

No.1 の回答の補足を。 HIROYO> と、ダミーで三つwindowを開いておいて、それに対してsubmitすれば、POSTでデータが渡せるかもしれません。 渡せますよ。 仮に開いておくウィンドウには、真っ白なダミーを用意しておいても良いし、 about:blank を指定しても良いです。 window.open('about:blank', ウィンドウ名, オプション);

関連するQ&A