多组radiobox提交时后台的获取的情况及处理

在HTML标签或者js生成的页面代码中,有时需要提交多组单选按钮,比如一个页面提交多个人员的基本信息:


姓名:

性别单选:男, 女

年龄:



姓名:

性别单选:男, 女

年龄:


 对于“姓名”和“年龄”字段使用文本框可以使用相同的"name"字段,这样在提交在后台处理时可以使用:

 

String[] aplnames = request.getParameterValues("aplname");
String[] aplage = request.getParameterValues("aplage ");

 但是,对于性别,由于'name'属性相同的表示一组内容,如果这里radio的'name'属性都设成一样的,那么两个人员共4个radiobox却只能选一个为checked状态,显然是不行的;只能把一个人员信息性别的两个radiobox设为一组,这两个radio的‘name’设为相同并区别于其他人员的radiobox的‘name’属性。

 

 

如下js代码部分实现,每组radio随机定义'name'属性,后台要知道这raidobox的属性名可以有很多方法,强制改名,或者以一定规律命名(因为是动态生成标签,存在随意删除和增加人员的情况,这里是在提交前强制改名了)。

最重要的是html http提交时一组radiobox实际上只是提交了属性checked为选中的radiobox。

 

前台js:

 

var $row2 = $('<tr></tr>');
var timestampstr = new Date().getTime();
$row2.append('<td class="lefttitle2">性別</td>');
$row2.append('<td><input type="radio" name="aplgender'+timestampstr+'"  checked="checked" value="1"  rdflag="gender" />男<input type="radio" name="aplgender'+timestampstr+'" value="0"  rdflag="gender" />女<span style="color:red;">※必須</span></td>');
$table1.append($row2);

 

后台java:

String[] aplnames = request.getParameterValues("aplname");
for (int i = 0; i < appnum; i++) {//人员总数循环
	String[] rds = request.getParameterValues("aplgender_"+ i);
	log.info("aplgender_"+ i + ", " + Arrays.asList(rds).toString());
	String tmp = "[RADIOS] ";
	for (int j = 0; j < rds.length; j++) {
		tmp += rds[j];
	}
	log.info(tmp);
}

 前台提交了3个人员信息后,后台的 日志显示每个人员的radiobox提交后只是得到了选中的那个,并没有把每组(男、女)的radiobox都提交上来:

 - [ INFO ]  aplgender_0, [0]
 - [ INFO ]  [RADIOS] 0
 - [ INFO ]  aplgender_1, [1]
 - [ INFO ]  [RADIOS] 1
 - [ INFO ]  aplgender_2, [1]
 - [ INFO ]  [RADIOS] 1

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值