表单请求拦截+表单外复选框处理

首先说明一下情况,表单提交时需要获取表单外的列表中复选框被选中的情况,在不使用AJAX,即保存表单提交事件的前提下,需要正确地将表单外被选中复选框的值传递到java的后端。
思路是在表单中设置隐藏的表单域元素,再在表单外元素上设置监听,当事件发生时,JS修改表单内对应的隐藏域元素的值,最后提交事件时会将具有名称属性的隐藏域一并提交。

< -  html  - >
<form id =“search-form”action =“comentator / exportOutmethod =“post”onsubmit =“return downloadFileSubmit()”>
  < - 其他元素 - >
  < - 用于临时存储复选框选中情况的div  - >
  <div id =“selectedUserDiv”> </ div>
  <button id =“exportOut”type =“submit”> </ button>
</ FORM>

< - 表单外的复选框们 - >
<input value =“1”type =“checkbox”name =“chked”/>
<input value =“2”type =“checkbox”name =“chked”/>
<input value =“3”type =“checkbox”name =“chked”/>
// JS
function downloadFileSubmit(){
  var thisHtml =“”;
  var obj = document.getElementsByName(“chked”); //获取表单外复选框
  forvar i = 0; i <obj.length; i ++){
    如果(OBJ [I] .checked){
      thisHtml = thisHtml +'<input hidden =“hidden”name =“checkedUser”value =“'+ obj [i] .value +'”type =“checkbox”checked =“checked”>';
    }
  }
  document.getElementById(“selectedUserDiv”)。innerHTML = thisHtml;
  返回true;
}
// java的
@RequestMapping("submit")
public void exportOut(HttpServeltRequest request){
  String [] checkedValue = request.getParameterValues(“checkedUser”);
  // ....处理
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值