如何在服务器端获得<select>中的所有值


Test1
Test2
Test3

我想在服务器端获得中所有的的值(不要求选中所有值就能获得)

Thank you very much!

[code="java"]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



function alt() { var s=""; for(i=0;i<=document.all("select1").length-1;i++) { var s=s+document.form1.select1.options(i).value+","; } alert(s); }

1122334455



[/code]

通常的HTTP协议中发送的是用户选中的值,不包含未选中的值。

那就用个js脚本处理吧。

在提交的时候,触发这样的操作:

扫描Select的所有Option元素,动态地在表单中写入隐藏字段,然后提交表单信息到Server端、

for 循环 select 的长度
test.options[第几个节点].text 就是每个option的内容
用个特殊符号join到一起
然后传给服务端
服务端再解析

[code="html"]


[/code]
在后台通过test_alias这个名获取一个数组。servlet中的方法如下:
[code="java"]String[] getParameterValues(String name)[/code]

注意:隐藏域input中的name不能跟多选的名字相同。

表单提交前调用方法全选

[code="java"]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


New Document



Test1
Test2
Test3

button <!-- var aaa=document.getElementById("aaa"); aaa.onclick=function(){selectAll(document.getElementById("test"))} function selectAll(slt){ for (var i=0;i<slt.options.length;i++ ){ slt.options[i].selected=true; } } //-->



[/code]