form表单,转Map,转List<Map>

本文介绍如何将HTML表单数据(包括select、input、radio和checkbox)转换为Map和List<Map>格式,以及如何通过AJAX进行POST请求提交这些数据到服务器端,并在后端使用@RequestBody接收。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、form表单包含,select下拉列表,input输入框等,转为Map,js如下:

            var baseInfo = {};
        	var formArray =$("#baseInfo").serializeArray();
        	$.each(formArray,function(i,item){
        		baseInfo[item.name] = item.value;
        	});

注:$("#baseInfo"),baseInfo是form的id

 

2、form表单包含,select下拉列表,input输入框等,转为List<Map>,js如下:

			var workInfoArr=[];
			$("#workContent form").each(function(){
				var formObject01 = {};
				var formArray01 =$(this).serializeArray()
	        	        $.each(formArray01,function(i,item){
	        		      formObject01[item.name] = item.value;
	        	        });
				workInfoArr.push(formObject01);
			})

注:$("#workContent form"),workContent 是div的id,取这个div下的所有form进行遍历

 

3、ajax的调用,传递的参数如下:

            var jg={"baseInfo":baseInfo,"workInfoArr":workInfoArr}
        	$.ajax({
                type: "post",
                url:"${pageContext.request.contextPath}/refordInfo/updateRefordInfo",
	        async: true,
	        data: JSON.stringify(jg),
	        contentType : 'application/json',
	        dataType:"json",
	        success: function(data) {
                    alert("提交成功")
                },
                error: function(request) {
                    alert("提交失败")
                }
              
            });

4、后端使用@RequestBody Map<String,Object> map接收参数

 

总述:form表单的所有input,select,radio,checkbox都必须有name属性,因为遍历转Map的时候key用的是item.name

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值