回发到服务器执行不同的查询

时间:2010-12-01 01:42:25

标签: html jsp post

我在表单中有一些<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的内容执行不同的查询....基于div id,或者某种方式..

1 个答案:

答案 0 :(得分: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.
}

您可以根据需要为其指定不同的名称,然后对每个请求参数进行null检查。

<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>

与第一个示例中的服务器端处理相同。