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

要用到的包:

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");
        			/*
                                  具體業務
			        */
        			 	
        		}
        			
        	}
  }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章