- ベストアンサー
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 で渡したい) よろしくお願いします。
- みんなの回答 (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を一つ用意して置いて開けばいいと思います。
その他の回答 (1)
- a-kuma
- ベストアンサー率50% (1122/2211)
No.1 の回答の補足を。 HIROYO> と、ダミーで三つwindowを開いておいて、それに対してsubmitすれば、POSTでデータが渡せるかもしれません。 渡せますよ。 仮に開いておくウィンドウには、真っ白なダミーを用意しておいても良いし、 about:blank を指定しても良いです。 window.open('about:blank', ウィンドウ名, オプション);
お礼
POST データはまだ渡してませんが、教えて頂いたやり方で Window が開きました。なんか出来そうなカンジです。 ありがとうございます。