如果表单中有多个同名表单,即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字符串。