2010-12-01 6 views
0

<div>はフォーム内にあり、div内の各ものには特定のフォームが含まれています。 ユーザーが送信ボタンを押すと、私は、ユーザーが、私はプログラムがであるDIV内容に基づいて別のクエリを実行したい送信ボタンを押すと異なるクエリを実行しているサーバーにポストバック

<form method="get" action="addprogramtodb.jsp"> 
<select name="cid" style="display: none;"> 
<option>1</option> 
<option>2</option> 
</select> 

<div id="1"> 
</div> 

<div id="2"> 
</div> 

<div id="3"> 
</div> 

<input type="submit"/> 
</form> 

に基づいて異なるアクションを実行したいです... 。div idに基づいて、または何とか..

+0

少し曖昧になりますか? – Pointy

答えて

1

送信ボタンには通常の方法で名前と値を指定します。

<input type="submit" name="action" value="action1"> 
... 
<input type="submit" name="action" value="action2"> 
... 
<input type="submit" name="action" value="action3"> 

押されたボタンはリクエストパラメータとしても使用できます。

String action = request.getParameter("action"); 

if ("action1".equals(action)) { 
    // action1 button is pressed. 
} else ("action2".equals(action)) { 
    // action2 button is pressed. 
} else ("action3".equals(action)) { 
    // action3 button is pressed. 
} 

あなたは、必要な場合は、代わりに彼らに別の名前を付けるし、各リクエストパラメータをnullcheckすることができます。

<input type="submit" name="action1" value="This is more i18n friendly"> 
... 
<input type="submit" name="action2" value="Blah"> 
... 
<input type="submit" name="action3" value="More blah"> 

if (request.getParameter("action1") != null) { 
    // action1 button is pressed. 
} else (request.getParameter("action2") != null) { 
    // action2 button is pressed. 
} else (request.getParameter("action3") != null) { 
    // action3 button is pressed. 
} 

それとも、彼らは実際にすべての<form>、自分のしている場合は、あなたも一緒に隠し入力を渡すことができます。

<form> 
    <input type="hidden" name="action" value="action1"> 
    ... 
</form> 
<form> 
    <input type="hidden" name="action" value="action2"> 
    ... 
</form> 
<form> 
    <input type="hidden" name="action" value="action3"> 
    ... 
</form> 

第1の例と同じサーバー側の処理です。

+0

だから私は各divタグの中に3回提出する必要がありますか?すべて同じ名前ですか?アクション?それは大丈夫だと思う? – aherlambang

+0

基本的なアイデアを伝えるだけです。あなたはあなたが好きな名前を選ぶことができます。ポイントは、押されたボタンの名前/値がリクエストパラメータとしても利用可能であることです。通常の方法でサーブレットでチェックするだけです。 – BalusC

+0

divをフォームに変更できません...別のdivに同じ名前の3つの入力があれば十分かどうかを知りたいだけです – aherlambang

関連する問題