使用jQuery獲取表單數據,只有serlisize方法和serlisizeArray方法都不是自己想要的,
所以自己封裝了一個獲取表單數據為對象的方法,以后用到的時候就不用重復去寫了
本方法獲取表單時,如果數據為空會返回一個空字符串如{name:""}
本方法擴展到jQuery對象上面,調用方法$("form").serializes();
1 $.fn.serializes = function() { 2 var params = {}; 3 var data = this.serializeArray(); 4 $.each(data, function(name, value) { 5 var key = this.name; 6 var value = this.value; 7 if (params[this.name] !== undefined) { 8 if (!params[key].push) { 9 params[key] = [params[key]]; 10 } 11 params[key].push(value || ""); 12 } else { 13 params[key] = value || ""; 14 15 } 16 }); 17 //以下代碼單選框復選框為空時,賦值為空字符串,不需要的可以刪除 18 var $radio = $('input[type=radio],input[type=checkbox]', this); 19 $.each($radio, function() { 20 if (!params.hasOwnProperty(this.name)) { 21 params[this.name] = ''; 22 } 23 }); 24 return params; 25 }