如果表单中有多个同名表单,即name一样时,只能提交一个,而不是多个。分析了一下是因为监听表单序列时,PostData.field未包含同名表单。更换为:$("#SlideForm").serialize()后即可解决此问题。

form.on('submit(reportlabelruleForm)', function(data){
	var fields=$(data.form).serialize();//提交多个相同name的值
	$.post($("#basePath").val() + "/creditreport/users/insertOrUpdateUsers",fields, function(result){
		if(result.flag == "Success"){
			parent.layer.msg("保存成功!", {icon: 1});
			toUsersForm(result.id);
		}else{
			parent.layer.msg("保存失败!", {icon: 2});
		}
	}, "json");
	return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。提交多个相同name的值
});

JSON.stringify(data)

  • 后台接收:
    java.net.URLDecoder.decode(fields,"UTF-8");//解码
    java.net.URLEncoder.encode("fieldName","UTF-8")//转码//编码
    

URLDecoder 和 URLEncoder 用于完成普通字符串 和 application/x-www-form-urlencoded MIME 字符串之间的相互转换。

URLDecoder类包含一个decode(String s,String enc)静态方法,它可以将application/x-www-form-urlencoded MIME字符串转成普通字符串;

URLEncoder类包含一个encode(String s,String enc)静态方法,它可以将普通字符串转换成application/x-www-form-urlencoded MIME字符串。