JSP关于checkbox传值的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP关于checkbox传值的问题相关的知识,希望对你有一定的参考价值。

下面这段程序我想选择一些水果点击“确定”之后在confirm.jsp这页面能显示出我选择的水果名称。但是我不知道这两个页面的代码怎么写(我只写了一个页面,可能也不对),求教高手,谢谢!!!
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>checkbox选值测试</title>
</head>
<form method="get" action="confirm.jsp">
<body>
<input type="checkbox" name="1" value="苹果">苹果<br>
<input type="checkbox" name="2" value="香蕉">香蕉<br>
<input type="checkbox" name="3" value="雪梨">雪梨<br>
<input type="checkbox" name="4" value="香瓜">香瓜<br>
<input type="checkbox" name="5" value="蛇果">蛇果<br>
<input type="checkbox" name="6" value="地瓜">地瓜<br>
<input type="submit" value="确定">
</body>
</form>
</html>

老兄,这个比较简单也完全不用什么ajax就能获得你的多选框的值了,你不就只要把当前页面上选中的给提交到confirm,jsp页面显示出来吗,
你这个页面的<input type="checkbox" name="f" value="苹果">里name都改成一样的
只要你在confirm.jsp页面写上如下代码
<%
String arr[]= request.getParameterValues("f");//这时接收到的就是一个数组了
for(int i=0;i<arr.length;i++)
out.println(arr[i]);

%>
参考技术A <input type="checkbox" name="check1" value="苹果">苹果<br>
<input type="checkbox" name="check1" value="香蕉">香蕉<br>
<input type="checkbox" name="check1" value="雪梨">雪梨<br>
<input type="checkbox" name="check1" value="香瓜">香瓜<br>
<input type="checkbox" name="check1" value="蛇果">蛇果<br>
<input type="checkbox" name="check1" value="地瓜">地瓜<br>

后台:
String checks[] = request.getParameterValues("check1");
for(String check:checks)
if(check!=null && !"".equals(check))
System.out.println(check+"被选中!");

参考技术B 你可以写一个js方法,checkbox的name要一样,然后判断那几个选中,取得他的value值,弄成一个字符串,在提交表单的时候加上这个字符串的,你是不是没有和后台交互的呀?追问

代码

追答

//批量删除
function batchDeleteadmins(delTagAction, listTagAction)
var currentPage=$("#currentPage").val(); //获取当前页
//alert(currentPage);
var ids=new Array();
if($("input[name='ids']:checked").size()==0)
alert("请选择需要删除的内容!");
return false;


$("input[name='ids']:checked").each(function(i,obj)
ids[i]=$(obj).val();
);
// alert("哈哈");
var idStr=ids.join("-");
$.ajax(
url:delTagAction,
data:
sendTime:(new Date()).getTime(),
idStr:idStr
,
type:"post",
async:false,
dataType:"json",
success:function(data)
if(data.success==true)
$("#middle").load(listTagAction,

sendTime:(new Date()).getTime(),
currentPage:currentPage

)
alert("删除成功!!!");


);

这是ajax交互的,你自己看一下,改写一下。

关于JSP中textarea传值的

<textarea rows="8" cols="60" name=content></textarea>在另外个JSP中,通过
String content=request.getParameter("content");获得它的值,但是很奇怪,当我输入是汉字时,获得的是??????

这个是什么情况啊?还有,我数据库中content是text类型的,可以把那个获得的content插入数据库中吗?

1、在String content=request.getParameter("content");
后面加上一句:
if(content != null)
content=new String(content.getBytes("iso8859-1"));

百分之百保证没乱码。
2、数据库的text类型可以存放所取得的字符。
参考技术A 传入中问是乱码,你在上面代码加request.setCharacterEncoding("utf-8");追问

在哪里加?能说的再明白点吗?我接触这个JSP没多久

追答

String content=request.getParameter("content");在这行的代码的上面加就可以了

追问

request.setCharacterEncoding("utf-8");
content=request.getParameter("content");
是这样吗?还是不行呢
 ???ê??????

依然还是问号

追答

那你在jsp页面中加这句

追问

改了以后,输出的是 ·¢¸ø
貌似也是乱码吧?

追答

是乱码,在加这句试试
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
content=request.getParameter("content");

追问

不好意思,忘记给你满意了,实在抱歉。感谢你的帮助。

追答

没关系

以上是关于JSP关于checkbox传值的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 jsp 中url传值的中文乱码问题

关于jsp中用button传递值的问题?

关于json传值大小写的“坑”

从jsp页面到servlet传值的不同方式

在jsp中获取已选中checkbox其他列的值

jsp页面中文解决办法