みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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を呼び出すことは可能なのでしょうか。

教えてください。お願いいたします。

投稿日時 - 2006-10-31 14:02:20

QNo.2508983

すぐに回答ほしいです

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

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>

これでどうでしょう。

投稿日時 - 2006-10-31 14:14:48

お礼

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

投稿日時 - 2006-10-31 16:35:13

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

投稿日時 - 2006-10-31 14:45:57