0

私のjspページには、2つの送信ボタンがあります。コード スニペットは次のとおりです。

<input type="submit" name="btnSubmit" id="btnSubmit" value="abc" onclick="return formCheck3(this)"/>
<input type="submit" name="btnSubmit" id="btnSubmit" value="xyz" onclick="return formCheck3(this)"/>

formCheck3では、javascriptで、ドロップダウンが選択されているかどうかを検証してからフォームを送信しています。アクションクラスのメソッドでは、次のようにしています:

String button=request.getParameter("btnSubmit");
if(button.equals("abc")){
//certain code here
}else if(button.equals("xyz")){
//certain code here
}

これは IE と mozilla では正常に動作していますが、chrome ではボタンの値が null になります。 誰かが私に方法を提案できますか?

4

1 に答える 1

1

javascript から form.submit() を実行し、その後 true を返しています

これは正しくないです。戻るtrueと、呼び出し元の要素のデフォルト アクションが続行されます。これは<input type="submit">、親<form>要素を送信する場合です。これは正しいことですが、フォームを事前に送信している場合は、本質的に要素のデフォルト アクションを完全にオーバーライドしています。

form.submit()JS で呼び出しを削除します。<input type="submit">にデフォルトのジョブを実行させます。このようにして、そのパラメータ名/値もリクエスト パラメータ マップに表示されます。trueJS では、またはのいずれかのみを返すことによって送信を制御する必要がありますfalse

于 2013-02-11T12:05:02.570 に答える