• ベストアンサー

1つのsubmitボタンで2つのCGIを呼び出すことは可能ですか?

今は、htmlで <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> </head> <body> <form action="abc.cgi" method="get"> 以下省略 <input type="submit" value="送信"> </form> <form action="xyz.cgi" method="get"> 以下省略 <input type="submit" value="受信"> </form> </body> </html> という感じで書き、2つのボタンで個々に2つのCGIを呼び出していますが、 これをメールの送受信のように、1つのボタンで2つのCGIを呼び出すことは可能なのでしょうか。 教えてください。お願いいたします。

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

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

JavaScriptを使えば可能だと思います。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <!-- スクリプトを追加 --> <script language="JavaScript"><!-- function send() { document.Form1.submit(); document.Form2.submit(); } // --></script> </head> <body> <!-- フォームに名前をつける --> <form name="Form1" action="abc.cgi" method="get"> 以下省略 <input type="submit" value="送信"> </form> <!-- フォームに名前をつける --> <form name="Form2" action="xyz.cgi" method="get"> 以下省略 <input type="submit" value="受信"> </form> <!-- 送受信ボタン --> <form> <input type="button" value="送受信" onClick="send()"> </form> </body> </html> これでどうでしょう。

noname#77475
質問者

お礼

分かりやすい回答ありがとうございます。 おかげで解決しました。 CGIでの質問カテゴリなのに、JavaScriptで回答いただき感謝しております。

その他の回答 (1)

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.2

方法としてはANo.1さんの通りなのですが、注意点は 「1個のブラウザに両CGIの結果は同時表示できない」 ということです。 CGIの内容や状況にもよりますが、どちらか一方のFORMタグに「TARGET」を指定してやらないとFORM1側の処理がたたかれない場合が発生しますので注意してください。 片方の処理を隠して処理させる方法については「JavaScript」のカテゴリで「QNo.2493721:JavaScriptからページを変移せずにcgiへ値を送信」で解説がしてありますのでそちらを参考にしてください。

関連するQ&A