日期:2014-05-17  浏览次数:20643 次

复选框多选提交
页面有一button按钮 点击查询列出N本书 每本书后面都有复选框,JSP代码为:
<input type="checkbox" value="<%=bookname%>" name="name"/>
但是多选之后提交发现 只提交了一本书 请问怎么提交多选? 先谢过~~~~


------解决方案--------------------
在后台使用:String[] args = request.getParameterValues(arg0);然后循环这个数组,就可以获取所有的书了,其中arg0表示的是前台的:<input type="checkbox" value="<%=bookname%>" name="inputkey"/>中的:inputkey

------解决方案--------------------
你好,我刚学jsp,正好看到复选框这里,我是用的方法是:
String newname[]=request.getParameterValues("name");获取数组
然后使用循环体:if (newname==null)
{out.println("一个都没选");}
else {for(int i=0;i<newname.length;i++)
{out.println(newname[i]+" ");
}
}
输出数组,应该就可以了。
希望能帮到你
------解决方案--------------------
用个JS吧
while(it.hasNext()){
bookname=bookForm.getBookName();
<tr>
<td><%=bookname%></td>
<td><input type="checkbox" value="<%=bookname%>" name="inputkey" onclick="setBookName(this)" /></td>
</tr>
加个隐藏字段
<input type="hidden" id="booksName" name="booksName"/>


var result = "";
function setBookName(checks){
if(checks.checked == true){
result = result + checks.value + ",";
}
if(checks.checked == false){
result = result.substring(0,result.indexOf(checks.value + ",")) + result.substring(result.indexOf(checks.value+",")+checks.value.length+1);
}
document.getElementById("booksName").value = result;
}

然后你按照","的方式截取就行了
------解决方案--------------------
后台使用String[] name= request.getParameterValues("name");
然后在遍历这个数组,获取的就是已选中的!