浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
程序员文章站
2022-11-12 17:26:05
我这里往后端传递checkbox 多选框value的值是通过字符串方式传递,先调用js对选定checkbox遍历获取选的的boxvalue,然后写进隐藏域,最后作文对象的属...
我这里往后端传递checkbox 多选框value的值是通过字符串方式传递,先调用js对选定checkbox遍历获取选的的boxvalue,然后写进隐藏域,最后作文对象的属性提交。见代码:`
前端:
<form:form commandname="user" method="post"> <c:foreach items="${deploys}" var="deploy" varstatus="deploystatus"> <input type="checkbox" name="checkbox" value="${deploy.id}"/>${deploy.systemname} <br> </c:foreach> <spring:bind path="id">//实际存储的值,此处隐藏 <div class="form-group" hidden> <form:input path="id" name="id" cssclass="form-control"></form:input> </div> </spring:bind> <spring:bind path="accesscontrol">//实际存储的值,此处隐藏 <div class="form-group" hidden> <form:input path="accesscontrol" name="accesscontrol" cssclass="form-control"></form:input> </div> </spring:bind> <input type='button' value='确定' onclick="fun()"/>//调用脚本,给需要post的数据赋值 <div class="form-group"> <button type="submit" class="btn btn-primary">保存</button> <a class="btn btn-success pull-right" href="/user/list" rel="external nofollow" >返回</a> </div> </form:form>
脚本:
<script type="text/javascript"> function fun() { var boxes = document.getelementsbytagname("input"); // var val = [] var str = ""; for (var i = 0; i < boxes.length; i++) { if (boxes[i].name == "checkbox" && boxes[i].checked == true) { // val.push(boxes[i].value); str += boxes[i].value + ','; } } $("#accesscontrol").val(str) // alert(atr); // alert(val); } </script>
后端:
@requestmapping(value = "editaccesscontrol", method = requestmethod.post) //后端方法, public string editaccesscontrolpost(user user,modelmap model ) {//接收参数对象user usermapper.updateuseraccesscontrol(user); model.addattribute("user",user); model.addattribute("success", "权限修改成功"); return "redirect:/user/editaccesscontrol?id="+user.getid(); }
以上这篇浅谈springmvc中post checkbox 多选框value的值(隐藏域方式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: react-router v4如何使用history控制路由跳转详解
下一篇: 仰卧起坐都有哪些误区