- PR -

タグのAction先を数個指定する?

1
投稿者投稿内容
Green
会議室デビュー日: 2003/09/07
投稿数: 17
投稿日時: 2003-10-27 20:25
JSPでデータベースを収集するシステムを構築しているのですが、
アンケートを収集する際よく使用される<FROM>タグについて
皆様の知恵をお借りしたのでよろしくお願いいたします。
JAVAではなくHTMLに関することかもしれません。

簡単に記述しますと
<form metod="get" action="A.jsp">
 ……
<submit type="send" value="送信A"/>
</form>
という感じで、「A.jsp」にデータを受け渡すページがあります。
ここで、送信ボタンを複数用意し、別の「B.jsp」や「C.jsp」に
データを受け渡すということは可能なのでしょうか?

<form metod="get" action=???>
 ……
<submit type="send" value="送信A"/>
<submit type="send" value="送信B"/>
<submit type="send" value="送信C"/>
</form>

「form」内の「action」先を送信ボタンに連動して変化
させることはできるのでしょうか。なにかよい知恵があればご教授
お願いいたします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2003-10-27 20:34
Struts1.1 では DispatchAction というのを利用して押した Submit ボタンに応じて呼び出す Action 内のメソッドを振り分けることができます。

[ メッセージ編集済み 編集者: インギ 編集日時 2003-10-27 20:38 ]
とまと
ベテラン
会議室デビュー日: 2003/10/18
投稿数: 51
投稿日時: 2003-10-27 21:36
こんばんは。

引用:

Greenさんの書き込み (2003-10-27 20:25) より:
「form」内の「action」先を送信ボタンに連動して変化
させることはできるのでしょうか。



JavaScriptを用いるとできます。
以下はcode fragmentです(検証などはしていません)。
これらの情報をもとに調べてみてください。

コード:
<script language="JavaScript">
function gotoA() {
    document.forms[0].action = "Aに対応するJSPのURL";
    document.forms[0].submit();
}
・・・・・
</script>
・・・・・・
<input type="button" value="送信A" onclick="gotoA()">
<input type="button" value="送信B" onclick="gotoB()">



参考になれば。
Green
会議室デビュー日: 2003/09/07
投稿数: 17
投稿日時: 2003-10-28 13:06
インギさん、とまとさん、ありがとうございます。
早速試してみます。結果をまた報告させていただきます。
Green
会議室デビュー日: 2003/09/07
投稿数: 17
投稿日時: 2003-10-31 15:37
次のようなタグでできました。

<HEAD>
<script language="JavaScript">
function gotoB() {
document.forms[0].action = "B.jsp";
document.forms[0].submit();
}
</script>
</HEAD>
<FORM method="post" action="A.jsp">
...
<input type="submit" value="送信A" />
<input type="submit" value="送信B" onclick="gotoB()"/>
</FORM>
これで、"送信A"を押せば基本どうり"A.jsp"にデータが渡され、
"送信B"を押すとスクリプトで"B.jsp"に渡されます。
2つ以上のsubmitを送るときはわかりませんが、
とりあえず2つのaction振り分けができました。ありがとうございました。
とまと
ベテラン
会議室デビュー日: 2003/10/18
投稿数: 51
投稿日時: 2003-10-31 16:28
こんにちは。

引用:

Greenさんの書き込み (2003-10-31 15:37) より:
<HEAD>
<script language="JavaScript">
function gotoB() {
document.forms[0].action = "B.jsp";
document.forms[0].submit();
}
</script>

<snip>

<input type="submit" value="送信B" onclick="gotoB()"/>


これだと、送信Bボタンを押した場合、2回サブミット
されます。
1

スキルアップ/キャリアアップ(JOB@IT)