1. 程式人生 > >JQuery的serializeObject 序列化form表單

JQuery的serializeObject 序列化form表單

/**
 * 使用場景:ajax提交表單資料
 */
/*
<form>
    <input type="text" name="username" value="123"/>
    <input type="text" name="password"  valur="abc"/>
 </form>
 */
 // 1. serialize() —— 序列化form表單 帶name屬性的內容為字串
    JQuery("form").serialize();  
    // "username="123&password="abc"
	
// 2. serializeArray() ——返回JSON 物件陣列
    JQuery("form").serializeArray();
    // [{name:"username",value:"123"},{name:"password",value:"abc"}]

//  3. 封裝一個方法: serializeObject()  ——返回物件
	JQuery("form").serializeObject()
	//{username:"123",passwoed:"123"}
	
    JQuery.prototype.serializeObject = function () {
        var a,o,h,i,e;
        a = this.serializeArray();
        o={};
        h=o.hasOwnProperty;
        for(i=0;i<a.length;i++){
            e=a[i];
            if(!h.call(o,e.name)){
                o[e.name]=e.value;
            }
        }
        return o;
    }