form表单的各种input的submit传值
1. 在服务器端获取参数的时候,Parameter(String name)方法的返回结果根据如下情况区分:
1.1 请求消息中不包含这个参数,返回null。
1.2 请求消息中包含这个参数,但是没有值。例如param1=¶m2=123中的param1。这种情况下返回空字符串””。
1.3 请求消息中包含多个命名相同的参数。例如param1=1¶m1=2中的param1。这种情况下,返回第一个参数的值。例如上面的1。如果使用ParameterValues(String name),则返回一个包含所有命名相同的值的Sring数组。
2. <input type="submit" name=" " value=" ">。
一个页面中可以有多个submit元素,点击某个submit按钮的时候,浏览器会将form的数据封
转后发送给服务器,其中包括一对当前点击的submit信息的数据,为当前点击submit按钮的name和value。其他不点击的submit按钮不传递name和value值。
所以可以通过如下语句判断点击了那个submit按钮。
if(Parameter("submit按钮的name属性") !=null&& Parameter("submit按钮的name属性").equals("submit按钮的value属性"))
{
执行语句
}
如果某个submit按钮没有name属性。点击这个按钮的时候,浏览器也会将form的数据封转后发送给服务器,但是不包含submit按钮本身的name和value信息。所以服务器端不能判断是点击了哪个按钮。
3. <input type="button" name=" " value=" ">
点击一个submit按钮的时候,浏览器会自动提交数据到服务器,但是点击一个Button的时候,浏览器只是单纯的执行这个Button的onclick事件。如果没有onclick事件,就什么也不做。可以在onclick事件中通过JavaScript代码提交表单。
例如:
function button1_click()
{
document.form1.action = “check.jsp”;
document.form1.submit();
}
点击button按钮不传递button的name和value值。
4. 各种input的传递name和value的情况:
前提是,只要没有name属性,就不传递。
text和textarea不管是否为空,都将传递到服务器,为空时传递的value值为空字符串。
checkbox和量化目标radio的状况是,只有被选中的才会传递,不选择的不传递。如果选中了没有value的无弹checkbox和radio,传递的value值默认为”on”。
横向研究hidden不管如何,都会被传递给服务器。
5. 一个实践
5.1 jsp页面
<form action="<%=ContextPath()%>/checkboxtest"
method="post" target="_blank">
<table>
<tr>
立碑的碑文怎么写 <td>
<input type="checkbox" name="lectbooks" value="1">
</td>
<td>
1
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="lectbooks" value="2">
</td>
<td>
2
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="lectbooks" value="3">
</td>
<td>
3
</td>
</tr>
<tr>
<td>
<input type="submit" name="check" value="查看">
</td>
<td>
<input type="submit" name="delete" value="删除">
</td>
</tr>
</table>
</form>
5.2 后台Servlet代码:
resp.tContentType("text/html;chart=UTF-8");
String[] lectBooks = ParameterValues("lectbooks");
向日葵描写
水箱温度过高怎么办 StringBuffer lectBookIds = new StringBuffer();
议论纷纷的意思 int flag = 0;
珠海横琴天气 for (String lectbook : lectBooks) {
if (flag == 0) {
lectBookIds.append(lectbook);
}
el
{
lectBookIds.append("," + lectbook);
}
flag = 1;
}
Parameter("check") != null)
{
Writer().println("选择的图书的id有:" + String());
}
el Parameter("delete") != null)
{
Writer().println("删除的图书的id有:" + String());
}
el
{
Writer().println("返回的图书的id有:" + String());
}