您的位置:首页 > 编程语言 > Java开发

多个Form提交同一地址技巧(form序列化提交 java反序列化表单)

2016-05-23 10:56 471 查看
要用到的包:

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

1、前端部分为提交按钮添加事件:

//提交保存
$("#submitSave").click(function(){

var arr = new Array();

//序列化每个表单
$("form").each(function(){
var obj = $(this).serializeJson();
arr.push(obj);
});

//转json
var arrJson = JSON.stringify(arr);

var data = {
allParams : arrJson
};
//if判断是自定义校验表单的数据
if(checkFormInput(arrJson)){
$.ajax({
type: "POST",
data: data,
url: ctx + "/portal/workinglog/workinglogAction!ajaxAdd.action",
dataType: "JSON",
success:function(data){
if(data.data.result=="ZSUCCESS"){
showMsg("","提交成功",1);
location.href = ctx + "/jsp/wap/workinglog/submit_list.jsp";
}else{
showMsg("", "提交失败", 1);
}

}
});
}
});

//自定义序列化
(function($){
$.fn.serializeJson=function(){
var serializeObj={};
$(this.serializeArray()).each(function(){
serializeObj[this.name]=this.value;
});
return serializeObj;
};
})(jQuery);

//上面所说的表单数据检验
function checkFormInput(arrJson){
    var obj = JSON.parse(arrJson);
    if(obj==""){
这个是封装的显示消息的方法,不必理会
        showMsg("","请添加日志",1);
        return false;
    }
    for(var i=0; i<obj.length; i++){
        if(obj[i].ADDCONDT==null || obj[i].ADDCONDT.trim()==""){
            showMsg("","请输入工作内容",1);
            return false;
        }
        if(obj[i].BUSITYPE!="10"){
            var s1 = "2016/03/22 " + obj[i].STARTIME +":00";
            var s2 = "2016/03/22 " + obj[i].ENDTTIME +":00";
            var d1 = new Date(s1);
            var d2 = new Date(s2);
            if(d1.getTime() >= d2.getTime()){
                showMsg("","开始时间不能大于结束时间",1);
                return false;
            }
        }
    }
    return true;
}
2、后端反序列化

if(str!=null && str!=""){
JSONArray jsonArray = JSONArray.fromObject(str);
for(int i=0; i<jsonArray.size(); i++){
JSONObject jobj = jsonArray.getJSONObject(i);
if(!jobj.isEmpty()){

<span style="color:#FF6666;"> //TODO处理每一个json对象,以下是demo</span>
String receivers[]=jsonArray.getJSONObject(i).getString("contact").split(",");
String amount=jsonArray.getJSONObject(i).getString("amount");
String remark=jsonArray.getJSONObject(i).getString("remark");
String copytos="";copytos=jsonArray.getJSONObject(i).getString("fakecontact");
/*
具体业务
*/

}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: