批量提交form表单(JSON格式)

一:新建一个JS文件,内容如下:

/**
 * 自动将form表单封装成json对象
 */
$.fn.serializeObject = function() {
	var o = {};
	var a = this.serializeArray();
	$.each(a, function() {
		if (o[this.name]) {
			if (!o[this.name].push) {
				o[this.name] = [ o[this.name] ];
			}
			o[this.name].push(this.value || '');
		} else {
			o[this.name] = this.value || '';
		}
	});
	return o;
};

二:页面引入JS文件

    <script language="javascript" src="/js/tools.js"></script>

三:满足form表单下(如:input等)的name与你接受的实体类对应的上(不必全部都有),即实体类有一个username属性,则所有的form都有一个input(或其他)的name是等于“username”。

四:JSP页面AJAX提交(部分)

function saveAll() {
			
			var json_data = [];
			var forms = $("#ALLDIV form");
              //form的序列话
			for (var i=0; i < forms.length; i++) {
				json_data.push($(forms[i]).serializeObject());
			}

                              。。。
                             。。。

                      $.ajax({
				type:"POST",
				url:urlF,
				dataType:"json",
				contentType:'application/json',
				data:JSON.stringify(json_data),
				success:function(data){    

                                。。。。
                                。。。。
                            
                                }
                    });
            }                                    

 

五:接受方式

  用实体类的数组接受

    如:User[] users

  SpringMVC框架则:@RequestBody User[] users,

  

posted @ 2016-08-29 09:26  Moka<TI  阅读(6159)  评论(0编辑  收藏  举报