フォームからsubmitして別ウインドウにCGIを呼び出す方法

このQ&Aのポイント
  • フォームからsubmitして別ウインドウにCGIを呼び出す方法について教えてください。新しいウインドウのサイズを固定にし、メニューバーを非表示にしたいです。
  • フォームデータをPOSTで持っていきたいので、window.open()は使用したくありません。また、新しく開いたウインドウをリサイズする方法も避けたいです。良い方法がありましたら教えてください。
  • フォームーSubmitから呼び出したウィンドウのサイズを固定にする方法と、メニューバーを非表示にする方法について教えてください。新しいウインドウを改めてリサイズする方法は避けたいです。
回答を見る
  • ベストアンサー

フォームーSubmitから呼び出したウィンドウのサイズ固定

フォームからsubmitして別ウインドウにCGIを呼び出そうと思い、 <FORM action="a.cgi" target="_blank" method="POST"> としました。 このとき、新しいウインドウのサイズを固定にし、かつメニューバーを 表示させないようにしたいのですが、どうしたらよいでしょうか。 フォームデータはPOSTで持っていきたいので、window.open()は使用したく ありません。 また、新しく開いたウインドウを改めてリサイズする方法もありますが、 ロード時間が遅くなったりしますし、あまり綺麗でないので使いたくあり ません。 良い方法がありましたら教えてください。 お願いします。

  • CGI
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

FORMタグのonSubmitでターゲットウィンドウを開けば、そのウィンドウに対して送信されます。 # FORMタグ部   <FORM action="a.cgi" target="newwin" method="POST" onSubmit="mySubmit(this)"> ※targetを _blank とせず、名前を指定する # JavaScript部   function mySubmit(f) {     window.open('about:blank', f.target, '設定');   } ※FORMオブジェクトを受け取り、そのtarget名のウィンドウを開く 流れは  1.送信操作  2.mySubmit呼出し  3.ターゲットウィンドウをオープン  4.mySubmit終了  5.ターゲットウィンドウに対し送信 となります。 JavaScriptがOFFの環境では、普通にターゲットウィンドウを開いての送信となります。

oksana
質問者

お礼

ご教授いただいた方法を早速試したところ、うまく動作しました。 流れを見てなるほどなあと思いました。 こんな方法があったのですね。 助かりました。 本当にありがとうございました。

関連するQ&A

  • Netscape で submit() を複数起動できない

    以前に教わった方法で、submit() を使って別ウィンドウに結果を表示させる Javascript を書きました。 IE では、できたのですが、NN(Netscape Communicator 4.7) では以下の Javascript が起動しません。 というか、最後の form3.submit() のみ起動します。submit() の間に alert(); を入れておくと 3 つのウィンドウが開くので、動くことは 動いているようなのですが...。なぜでしょう? --------ここから(ソースの一部) ---------- <SCRIPT LANGUAGE="JavaScript"> <!-- function OpenWin(){ document.form1.submit(); document.form2.submit(); document.form3.submit(); } // --> </SCRIPT> <form name="PapyrusForm" method="POST" action=""> <input type="text" name="searchword" size="60" maxlength="256"><BR> <input type="button" name="Search" value=" 検索 " onClick="OpenWin()"> </FORM> <!-- =========================================== --> <FORM ACTION="/cgi-bin/searchlist1.pl" target="window1" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" NAME="form1"> </FORM> <FORM ACTION="/cgi-bin/searchlist2.pl" target="window2" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" NAME="form2"> </FORM> <FORM ACTION="/cgi-bin/searchlist3.pl" target="window3" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" NAME="form3"> </FORM>

  • CGIの出力結果を小窓ウィンドウで表示させたい

    フォームでボタンを押すとCGIの画面に飛ぶ流れなのですが、ボタンを押したときにJavaScriptの小窓のウィンドウで表示させたいのですが方法がわかりません。 「target」を使って下記のようにする方法も知っていますが、あえて「JavaScriptの小窓のウィンドウ」で出したのです。宜しくお願いします。 <form method="post" action="xx.cgi" target=_blank>

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

    • ベストアンサー
    • CGI
  • 別ウィンドウへcgiの結果表示をする時に・・・

    FORMのACTIONでcgiを指定し、その結果をTARGET="_blank"で別ウィンドウへ表示する時に、別ウィンドウのメニューバーを消したいのですが、そういうことってできますでしょうか? <FORM METHOD="post" ACTION="../cgi-bin/sam.cgi" NAME="form" TARGET="_blank"> <SELECT NAME="year"> <OPTION SELECTED>2001</OPTION> <OPTION>2002</OPTION> <OPTION>2003</OPTION> </SELECT> </FORM> 元のソースはこんな感じです。このTARGET="_blank"のMENUBAR="0"にしたいのですが・・・ よろしくお願いします。

  • Chromeで複数submit

    現在1つのボタンで2つのフォームをsubmitしているのですがGoogleChromeだけ1正常に動作せず困っております。 下記スクリプトでIE、FireFoxはnform、nform2ともにsubmitされるのですがChromeのみnform2(後に記述したほう)のみ実行されます。 解決方法はありますでしょうか? 宜しくお願い致します。 <script language="javascript"><!-- function send() { if(window.confirm('設定してよろしいですか?')){ document.nform.submit(); document.nform2.submit(); }else{   alert('キャンセルしました'); } } //--></script> <form name="nform" action="a.php" target="blank" method="POST"> <input type="hidden" value="a" name="1"> </form> <form name="nform2" action="b.php" method="POST"> <input type="hidden" value="a" name="1"> </form> <button onClick="send()">ボタン</button>

  • 別ウィンドウへのsubmitの挙動がおかしいです

    はじめまして。 ページ内の押下したボタン/リンクに応じて、それぞれ別の新しいウィンドウにフォームの値を渡して処理を行うプログラムを作成しています。 リンク1押下→ウィンドウAを開く→アドレス1に遷移 リンク2押下→ウィンドウBを開く→アドレス2に遷移 ボタン3押下→自画面でアドレス3に遷移 フォームは共通で、JavaScript内でウィンドウ及びアクションの指定を行っています。 しかし、実際に動かしてみると、以下の問題が起こりました。 ・ウィンドウを開いた後、いつまでも遷移しない(する時もある) ・ウィンドウを開いた後、意図しないアドレスに遷移することがある  具体的には、新規ウィンドウで、現在開いているアドレスへの遷移 ・フォームの値が送信されないことがある(する時もある) いろいろ調べてみたのですが、原因がわかりません。 お力を貸していただけないでしょうか。 文末に抜粋したソースを掲載します。 ブラウザはIE7、関連あるかは分かりませんが、PHPとsmartyを使っています。 宜しくお願いいたします。 【JavaScript部分】 function action1(){ document.form.action = "http://www.yahoo.co.jp" document.form.target = "_self"; document.form.submit(); } function action2(){ window.open("", 'win2', 'width=400, height=300'); document.form.action = "http://www.google.co.jp" document.form.target = "win2"; document.form.submit(); } function action3(){ window.open("", 'win3', 'width=400, height=300'); document.form.action = "http://www.msn.co.jp" document.form.target = "win3"; document.form.submit(); } 【HTML部分】 <form name="form" method="post" action=""> <input type="text" name="text1" value=""> <a href="javascript:action2();">リンク1</a> <a href="javascript:action3();">リンク2</a> <input type="button" value="ボタン3" onClick="action1()"> </form>

  • submitではなくbuttonで送信

    事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。

  • submitした後にiframeのページを戻す

    フォームからデータを送った後に前にページに戻したいのですが、何方かご教授して頂けないでしょうか? <FORM method="POST" action="http://www.xxx/get.cgi" target="iframe_2"><INPUT type="button" value="送信" onclick="submit();javascript:parent.iframe2.history.go(-1);"></FORM>

  • VBAでIEを操作submit処理について

    ExcelVBAでIEを操作する処理について勉強中です。 formで、nameが定義されておらず、submitが複数(4つ)ある場合です。 HTMLが下記記載の場合で、submit”A”をクリックしたいです。 <form action="XXXX/admin.cgi" method=POST><td> <input type="submit" value="A"></td></form> <form action="XXXX/admin.cgi" method=POST><td> <input type="submit" value="B"></td></form> <form action="XXXX/admin.cgi" method=POST><td> <input type="submit" value="C"></td></form> <form action="XXXX/admin.cgi" method=POST><td> <input type="submit" value="D"></td></form> VBAでのsubmitの記述を下記で試してみたのですが、うまくクリックできません。 ObjIE.document.forms(0).Action = "XXXX/admin.cgi" ObjIE.document.forms(0).submit どのように変えたらよいのでしょうか。。。 ご教授お願い致します。

  • <FORM TARGET="">で開く窓の大きさ指定

    Javascriptかもしれませんが、perl内で使いたいので一応ここで‥‥ A.cgiからフォームに入力後送信、B.cgiに飛びます。 その時、B.cgiを新しく開いたウィンドウに表示したいので下記のようにしてます。 A.cgi側フォーム <FORM METHOD="post" ACTION="B.cgi" TARGET="_blank"></FORM> この_blankで新しい窓は開きますが、この開いた窓の大きさを指定するにはどうしたらいいんでしょうか? Javascriptはあまり良くわかりませんが、window.open()くらいなら使った事あります。これだと大きさも指定できますが、パラメーター(?)を渡しつつ、開いた窓の大きさも指定したいのです。 渡したいパラメーターは1種類(しかも変数で代入できる)なので、フォームじゃなくても <A HREF="B.cgi=?$i"></A>って格好でもいいです。($iの値は固定されていない) 何か私でもできる簡単な方法はありますか?

    • ベストアンサー
    • Perl

専門家に質問してみよう