- - PR -
formのonsubmitについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-06 20:16
今日は、優子です。
<html:form action="/delOrBuy" onsubmit="return false;"> <html:submit property="button1" value="取り消し" onclick="cartincheck(buyGoodsForm)"/> </html:form> とjsp上に書いている時、"取り消し"のボタンを押した時にjavaScriptのcartincheckのファンクション(とあるバリデーションチェック)を実行するようにしているのですが、その中でfalseをreturnする事なく、チェックを通過した時、delOrBuyのアクションを呼ぶようにしています。 しかし、そのアクション内でbutton1のパラメータを取得しようとすると(request.getParameter("button1")),nullが返ってきてしまいます。 onsubmit="return false;をonsubmit="return true;にすれば取得できるのですが、それだとjavaScriptのチェックに引っかかっても必ずdelOrBuyのアクションを呼んでします。 javaScriptのチェックに引っかかった場合はアクションを実行せずに、チェックを通過して呼ばれたアクションの中でbutton1のパラメータを取得するにはどうすればよろしいのでしょうか?ご意見のほど、よろしくお願い致します。 開発環境 pc win2000 j2sdk1.4.2_05 tomcat 5.0 struts 1.1 |
|
投稿日時: 2004-10-06 23:05
cartincheck(buyGoodsForm)をbooleanを返す関数にして
<html:form action="/delOrBuy" onsubmit="return false;"> を <html:form action="/delOrBuy" onsubmit="return cartincheck(buyGoodsForm);"> とするのは、どうでしょうか? |
|
投稿日時: 2004-10-07 10:02
tak3さま、お返事ありがとうございます。
ご指示頂いた方法で試すと上手くいきました。ありがとうございました。 (<html:submit property="button1" value="取り消し" onclick="cartincheck(buyGoodsForm)"/> のonclick="cartincheck(buyGoodsForm)もはずすと上手くいきました。) そこで追加の質問なのですが、 <html:form action="/delOrBuy" onsubmit="return cartincheck(buyGoodsForm);"> <html:submit property="button1" value="取り消し"/> <html:submit property="button2" value="注文" onclick="buycheck(buyGoodsForm)"/> </html:form> のように、別のボタンを追加し、さらにチェックするfunctionが異なるケースではどのようにすればよろしいのでしょうか? ご指示頂いた<html:form action="/delOrBuy" onsubmit="return cartincheck(buyGoodsForm);">の方法では一つのfunctionしか呼べないことになるので、別のボタンがsubmitしたい時にはまた別のfunctionを呼びたい、としたいのです。 ご意見をよろしくお願い致します。 |
|
投稿日時: 2004-10-07 13:24
DispatchActionなら、当初の
<html:form action="/delOrBuy" onsubmit="return false;"> でも困らないんじゃないですか? http://www.h7.dion.ne.jp/~matsu/feature/struts/advanced/lookup_dispatch_action.html あとは、JavaScriptはフラグを使えば処理の切り分けができますよね。 |
|
投稿日時: 2004-10-07 16:03
tak3さん。お返事ありがとうございます。
javaScriptの中身を変更して、フラグを設定することで問題は解決しました。 DispatchActionも時間のある時に応用してみようと思います。 ご意見頂き、本当にありがとうございました。 |
1