jQuery表单获取,封装对象方法扩展
使用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 }