1. 程式人生 > >序列化表單js外掛

序列化表單js外掛

$.fn是指jquery的名稱空間,加上fn上的方法及屬性,會對jquery例項每一個有效。(實際就是使用了prototype,詳細可檢視jquery.js程式碼) 
如擴充套件$.fn.abc() 
那麼你可以這樣子:$("#div").abc();

 $.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;
}; 

  $("#btnSave").click(function () {
        if ($("#submit_form").form("validate")) {
            var url = "security/add";
            if ($("#id").val() != "")
                url = "security/upd";
            var paras = {
                list:[],
                publicServicesUser:{}
            };
            paras.publicServicesUser = $("#submit_form").serializeObject();

            for (var i= 13;i <= index; i++) {
                var obj = {
                    contactsType: "",
                    contactsName:"",
                    contactsPhone:""
                };
                var row = $("#submit_table tr:eq(" + i + ")");
                obj.contId = row.find("#contId").val();
                obj.contactsType = row.find("#contactsType").combo("getValue");
                obj.contactsName = row.find("#contactsName").textbox("getValue");
                obj.contactsPhone = row.find("#contactsPhone").textbox("getValue");
                paras.list.push(obj)
            }
            $.ajax({
                type: "POST",
                url: url,
                contentType: "application/json; charset=utf-8",
                data: JSON.stringify(paras),
                dataType: "json",
                success: function (message) {
                    if (message.code == 0) {
                        $Core.UI.message.success(message.msg);
                    }else{
                        $Core.UI.message.warning(message.msg);
                    }
                }
            });
        }
    });

使用序列化外掛

import com.alibaba.fastjson.JSONArray;

	@PostMapping("upd")
	public AssembleJSON update(@RequestBody UserContacts userContacts) {
		PublicServicesUser publicServicesUser = userContacts.getPublicServicesUser();

		SessionData sessionData =getCurrUserData();

		publicServicesUser.setUpdateUser(sessionData.getUserId());
		publicServicesUser.setUpdateUserName(sessionData.getUserName());
		if (publicServicesUser.getUpdateTime() == null) {
			publicServicesUser.setUpdateTime(new Date());
		}

		Map<Object, Object> objectObjectMap = MapUtil.object2Map(publicServicesUser);
		String str = JSONArray.toJSONString(userContacts.getList());
		PublicServicesUserTemp publicServicesUserTemp = MapUtil.map2Object(objectObjectMap, PublicServicesUserTemp.class);
		publicServicesUserTemp.setContactsStr(str);
		publicServicesUserTemp.setApproveState("0");
		publicServicesUserTemp.setUpdateTime(new Date());
		publicServicesUserTempService.insert(publicServicesUserTemp);

		PublicServicesUser publicServicesUser1 = new PublicServicesUser();
		publicServicesUser1.setId(publicServicesUser.getId());
		publicServicesUser1.setApproveState("0");
		publicServicesUser1.setUpdateTime(new Date());
		userContacts.setPublicServicesUser(publicServicesUser1);
		userContacts.setList(null);
		return AssembleJSON.SUCCESS(userContactsService.updateContactsSelective(userContacts));
	}