jsp页面传array数组到后台

//保存
    $("#submitBtn").click(function(){
        var flag = true;
        var eachflag = true;
          var len = $(".restTable tbody").find("tr").length;
        var arr = new Array();
         if(len != 0){
             var trindex = 0;
             $(".financialTable tbody tr").each(function(){
                 if(!eachflag){
                     return;
                 }
                 trindex++;
                 var chargeuser = new Object();
                 if($(this).find(".name").val().trim()==''){
                      layer.tips("请填写主要负责人姓名", $(".financialTable #tr_"+trindex+" .name"),{time:1000});
                      flag = false;
                      eachflag = false;
                        return ;
                  }else{
                      chargeuser.join_user = $(this).find(".name").val().trim();
                  }
                  if($.trim($(this).find(".sex").val())==''){
                      layer.tips("请选择主要负责人性别!", $(".financialTable #tr_"+trindex+" .sex"),{time:1000});
                      flag = false;
                      eachflag = false;
                      return;
                  }else{
                      chargeuser.sex = $(this).find(".sex").val()=="男"?0:1;
                  }
                  if($.trim($(this).find(".phone").val())==''){
                      layer.tips("请填写主要负责人电话", $(".financialTable #tr_"+trindex+" .phone"),{time:1000});
                      flag = false;
                      eachflag = false;
                      return;
                  }else{
                      if(! (/^1[3|4|5|7|8|9][0-9]\d{8}$/.test($(this).find(".phone").val().trim()))){
                          layer.tips("请输入正确的电话", $(".financialTable #tr_"+trindex+" .phone"),{time:1000});
                          flag = false;
                          eachflag = false;
                          return;
                      }else{
                          chargeuser.phone = $(this).find(".phone").val().trim();
                      }
                  }
                  //身份证非必输项
                  if($(this).find(".card").val().trim() !=''){
                      var reg = /(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
                      if (!reg.test($(this).find(".card").val().trim())) {
                          layer.tips("请输入正确的身份证号码", $(".financialTable #tr_"+trindex+" .card"),{time:1000});
                          flag = false;
                          eachflag = false;
                          return;
                        }
                  }
                  
                  var id_card;
                  if($(this).find(".card").val().trim() == ''){
                      chargeuser.id_card = id_card;
                  }else{
                      chargeuser.id_card = $(this).find(".card").val().trim();
                  }
                  var postal_address;
                  if($(this).find(".address").val().trim() == ''){
                      chargeuser.postal_address = postal_address;
                  }else{
                      chargeuser.postal_address = $(this).find(".address").val().trim();
                  }
                  //chargeuser.memo = $(this).find(".memo").val().trim();
                  var memo;
                  if($(this).find(".memo").val().trim() == ''){
                      chargeuser.memo = memo;
                  }else{
                      chargeuser.memo = $(this).find(".memo").val().trim();
                  }
                  chargeuser.pk_project_vendor = pk;
                  arr.push(chargeuser)
                 }) 
         }
         if(!flag){
             return;
         }
         $.ajax({
                url:"${ctp}/basic_project/vendor/chargeuser.json",
                type:"post",
                dataType:"json",
                data:{'arr':JSON.stringify(arr),
                    'pk_project_vendor':pk,
                    'uuid':uuid,
                    'pkold':pkold
                    },
                async:false,
                traditional: true,
                success:function(result){
                        if(result.success){
                            layer.msg(result.msg, {time : 1000}, function() {
                                top.layer.close(layerIndex);
                            });
                        }else{
                            layer.alert(result.msg,{shift:2,closeBtn:false},function() {
                                top.layer.close(layerIndex);
                            });
                        }
                        flag = true;
                        eachflag = true;
                    }
                })
    })

jsp页面关键有三处:

1、定义一个数组:var arr = new Array();

2、定义一个对象,并迭代添加对象属性,最后push进数组

var chargeuser = new Object();

chargeuser.join_user = $(".financialTable .name").val();

chargeuser.sex = $(".financialTable .sex").val()==“男”?0:1;//数据库存的是int类型

chargeuser.phone = $(".financialTable .phone").val();

chargeuser.id_card = $(".financialTable .card").val();
chargeuser.postal_address = $(".financialTable .address").val();
chargeuser.memo = $(".financialTable .memo").val();
arr.push(chargeuser);

3、提交时转换数组对象:data:{‘arr’:JSON.stringify(arr)},

后台java接收:

@RequestMapping("/chargeuser.json")
@ResponseBody
public Map<String,Object> chargeuser(HttpServletRequest request,HttpServletResponse response){
	String str = request.getParameter("arr");
	List<ProjectChargeuserVo> list = JSONArray.parseArray(str,ProjectChargeuserVo.class)
	return this.genAjaxResponse(true,"",null);
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值