使用jQuery获取表单数据,只有serlisize方法和serlisizeArray方法都不是自己想要的,
所以自己封装了一个获取表单数据为对象的方法,以后用到的时候就不用重复去写了
本方法获取表单时,如果数据为空会返回一个空字符串如{name:""}
本方法扩展到jQuery对象上面,调用方法$("form").serializes();
$.fn.serializes = function() {
var params = {};
var data = this.serializeArray();
$.each(data, function(name, value) {
var key = this.name;
var value = this.value;
if (params[this.name] !== undefined) {
if (!params[key].push) {
params[key] = [params[key]];
}
params[key].push(value || "");
} else {
params[key] = value || "";
}
});
//以下代码单选框复选框为空时,赋值为空字符串,不需要的可以删除
var $radio = $('input[type=radio],input[type=checkbox]', this);
$.each($radio, function() {
if (!params.hasOwnProperty(this.name)) {
params[this.name] = '';
}
});
return params;
}