读书人

ssh中js怎么获取多选框的值并传入ac

发布时间: 2012-03-19 22:03:05 作者: rapoo

ssh中,js如何获取多选框的值并传入action,下面是我的代码,大家帮忙修改一下,并帮我写出action感激不尽

/* 是否全选标记 */
var checkedAll = false;
/* 全选/取消全选
* formName 所在form的name值
* checkboxName checkbox的name值
* 注意:所有checkbox的name值都必须一样,这样才能达到全选的效果
*/
function selectAll(formName,checkboxName){

var form = document.all.item(formName);
var elements = form.elements[checkboxName];
alert(form);
alert(elements);
for (var i=0;i<elements.length;i++){
var e = elements[i];
if(checkedAll){
e.checked = false;
form.alls.checked = false;
} else {
e.checked = true;
form.alls.checked = true;
}
}
if(checkedAll){
checkedAll = false;
} else {
checkedAll = true;
}
}
/* 检查是否有checkbox被选中
* formName 所在form的name值
* checkboxName checkbox的name值
* 注意:所有checkbox的name值都必须一样,这样才能达到全选的效果
*/
function checkAll(formName,checkboxName){
var hasCheck = false;
var form = document.all.item(formName);
var elements = form.elements[checkboxName];
for (var i=0;i<elements.length;i++){
var e = elements[i];

if(e.checked){
hasCheck = true;

}
}
return hasCheck;
}
/* 执行操作 */
function do_action(){
alert("1111111111111111111111111yuyuyu");
if (!checkAll("formName","no")){
alert("没有checkbox被选中,提示用户至少选择一个!");
}
else{
var che=document.getElementsByName("checkbox");
for(var i=0;i<che.length;i++){
if(che[i].checked){
alert(che[i].value);
up=che[i].checked;
document.formName.action= "/system/sysupdate/Cjy_upprior.do?checkbox1=" +up;

}
}


}
}
jsp代码:<body >
<form action="" name="formName" method="post" enctype="multipart/form-data" >

<input type="file" name="path" id="ss" />

<br>
<input type="button" value="提交" onclick="upload()">

<table id="dataList" align="center" border="1" >


<tr>
<td>
用户Id
</td>
<td>
手机号码
</td>
<td>
定制类型
</td>
<td>
定制状态
</td>
<td>
定制时间
</td>
<td>
截至时间
</td>
<td>
用户状态
</td>
<td>
业务详情
</td>
<td>
优先级别
</td>

<td>
<input type="checkbox" name="alls" onClick="selectAll('formName','no')" title="全选/取消全选">
</td>
</tr>

<s:iterator value="hlist" id="id">
<tr> <td>
<s:property value="#id.usid"/></td>
<td ><s:property value="#id.userNumber"/></td>
<td><s:property value="#id.ServiceType" /></td>
<td><s:property value="#id.State" /></td>
<td><s:date name="#id.PassTime" format="yyyy-MM-dd" /></td>
<td><s:date name="#id.LogoutTime" format="yyyy-MM-dd" /></td>
<td><s:property value="#id.UserType" /></td>
<td><s:property value="#id.CodeName" /></td>
<td><s:property value="#id.sms_priority" /></td>
<td><input type="checkbox" name="no" value="${usid}&${sms_priority}" title="选择/不选择"> </td>
</tr>
</s:iterator>
<p align="center"><input type="button" name="actionButton" value="保存" onClick="do_action()"></p>
</table>
</form>
</body>

[解决办法]
在form中就直接提交呗,干嘛要特意去获取复选框的值呢?
在action中通过request是可以获取到的,值是数组。
[解决办法]
用request.getParameterValues("xx")获取
[解决办法]
页面:

HTML code
<form action="test.action" method="post"><input type="checkbox" value="1" name="test"/>测试值1<input type="checkbox" value="2" name="test"/>测试值2<input type="checkbox" value="3" name="test"/>测试值3<input type="checkbox" value="4" name="test"/>测试值4<input type="submit"/></form>
[解决办法]
管你有没有全选,在action里面获取checkbox的值总是没错的。
[解决办法]
在Action里用这个方法
ServletActionContext.getRequest().getParameterValues("复选框ID名称");
直接就可以取得一个String类型数组

读书人网 >J2SE开发

热点推荐