form表单序列化数组

    xiaoxiao2022-06-30  99

    **第一种** //form表单批量添加name序号相同的序列化数组 例如: --------例如开始------------- sex1, name1,age1 ; sex2, name2,age2 ; 序号相同放在同一个对象里 var dataArray = { “listData”:[{sex1, name1,age1},{ sex2, name2,age2}] } -------例如结束-------------- function onSave(){ //单验证 var name0 = $("#name0").val(); if(name0==""){ layer.msg("请输入名称"); return false; } //循环验证 var msg = ""; var kk = ""; //checkbox没有选中的 $("input[type='checkbox']:not(:checked)").each(function() { var index = $(this).val(); var startDate = $("#startDate"+index).val(); var endDate = $("#endDate"+index).val(); if(startDate==""){ msg = "false"; kk = "ksjs"; return msg; } if(endDate==""){ msg = "false"; kk = "jssj"; return msg; } }); if(msg == "false"){ if(kk=="ksjs"){ layer.msg("请输入开始时间"); } if(kk=="jssj"){ layer.msg("请输入结束时间"); } return false; } var t = $("#mainForm").serializeArray(); var arr = []; var index = 0; var o = {}; for(var i=0;i<t.length;i++){ //获取数字 var index2 = t[i].name.match(/\d+$/gi); if(i == 0){ index = index2; }else{ if(index[0]!=index2[0]){ arr.push(o); o = new Object(); index = index2 } } o[t[i].name] = t[i].value || ''; if(t.length-1 == i){ arr.push(o); } } var dataArray = { //如果type为0则正常存储 如果为1 则不保存次环节 "listData":JSON.stringify(arr) }; $.post(_BasePath + 'oa/oa/save',dataArray, function(result,status) { layer.msg(result.message, {icon: 1,time:500},function(){ onReturn(); }); }); } java转译 import net.sf.json.JSONArray; import net.sf.json.JSONObject; public void save(String listData) { try { // 首先把字符串转成 JSONArray 对象 JSONArray json = JSONArray.fromObject(listData.replaceAll("\\\\","")); SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd"); if(json.size()>0){ for(int i=0;i<json.size();i++){ JSONObject job = json.getJSONObject(i); //判断是否有该属性 if(job.has("bsj"+i)){ } //时间格式 if(!job.get("startDate"+i).equals("")){ Date startDate = dateFormat.parse((String)job.get("startDate"+i)); } } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } 第一种 //form表单批量添加name相同的序列化数组 例如: --------例如开始------------- sex, name,age ; sex, name,age ; 序号相同放在同一个对象里 var dataArray = { “listData”:[{sex, name,age},{ sex, name,age}] } -------例如结束-------------- function onSave(){ var msg = ""; var kk = ""; $("input[name='name']").each(function(){ if($(this).val() == ""){ msg = "false"; kk = "rwmc"; return msg; } }); if(msg != "false"){ $("input[name='startDate']").each(function(){ if($(this).val() == ""){ msg = "false"; kk = "kssj"; return msg; } }); } if(msg != "false"){ $("input[name='endDate']").each(function(){ if($(this).val() == ""){ msg = "false"; kk = "jssj"; return msg; } }); } if(msg == "false"){ if(kk=="rwmc"){ layer.msg("请输入名称"); } if(kk=="kssj"){ layer.msg("请输入开始时间"); } if(kk=="jssj"){ layer.msg("请输入结束时间"); } return false; } var t = $("#mainForm").serializeArray(); var arr = []; var indexName = ""; var o = {}; for(var i=0;i<t.length;i++){ if(i == 0){ indexName = t[i].name; }else{ if(indexName == t[i].name){ arr.push(o); o = new Object(); indexName = t[i].name } } o[t[i].name] = t[i].value || ''; if(t.length-1 == i){ arr.push(o); } } var dataArray = { //如果type为0则正常存储 如果为1 则不保存次环节 "listData":JSON.stringify(arr) }; $.post(_BasePath + 'oa/oa/save', dataArray, function(result,status) { layer.msg('保存成功', {icon: 1,time:500},function(){ onReturn(); }); }); } java转译 import net.sf.json.JSONArray; import net.sf.json.JSONObject; public void save(String listData) { try { // 首先把字符串转成 JSONArray 对象 JSONArray json = JSONArray.fromObject(listData.replaceAll("\\\\","")); SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd"); if(json.size()>0){ for(int i=0;i<json.size();i++){ JSONObject job = json.getJSONObject(i); Oa oa = new Oa(); if(job!=null){ oa.setResolve(1); oaDao.save(oa); } } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }

    最新回复(0)