var num_Id = new Array();
for(var i=0;i<object.length;i++)
{
if(object[i].checked)
{
num_Id[i] = parseInt(object[i].value);
}
}
alert(num_Id);
Object idss[] = request.getParameterValues("num_Id");
问题是: idss 的值, key 0 value ?,?,?
一个建值 对应了所有的值,为什么 ?
[color=blue][b]
你的那种做法,在后台需要,自己分割字符串,来处理。
你也可以这样:
"/member.do?method=toFailureMessage&idss="+num_Id[0]"+"&idss="+num_Id[1]
依次类推,将所有的元素,均按照idss=num_Id[i]的方式写入。
这样在后台就可以了Object idss[] = request.getParameterValues("num_Id"); [/b][/color]
[b]使用request.getParameter(String name)[/b]
request.getParameterValues(String name)是获得如checkbox类(名字相同,但值有多个)的数据。 接收数组变量 ,如checkobx类型
request.getParameter(String name)是获得相应名的数据,如果有重复的名,则返回第一个的值 . 接收一般变量 ,如text类型
例子如下:
[code="java"]
request.getParameterValues("test") ----------------- [1, 2, 3]
request.getParameter("test") ------------------ 1
[/code]
不能说对应多个值,是对应了一个对象。而对象中会包含多个值
因为你传过去的是一个对象,
[color=blue][b]
看看你的拼装的URL,numb_id是一个数组。以字符串的形式输出的时候,是将其中的内容以都逗号分隔的形式写出来。[/b][/color]
[quote]
window.showModalDialog("/member.do?method=toFailureMessage&idss="+num_Id+"",window); [/quote]
[color=blue][b]
实际的URL是:
/member.do?method=toFailureMessage&idss= x,y,z
所以,后天接收到的参数是 idss 内容是 x,y,z[/b]
[/color]