jq 將form表單中的資料轉為json
阿新 • • 發佈:2019-01-11
/**
* 獲取提交的資料
* @param obj
* @returns {{}}
*/
m.getParameterMap = function (obj) {
var setmultivalue = function (val, name, value) {
if (!value)value = '';
if (val[name] === undefined) {
val[name] = value;
} else {
if (val[name].constructor == Array) {
val[name].push(value)
} else {
var v = val[name];
val[name] = [];
val[name].push(v)
val[name].push(value)
}
}
};
var val = {};
obj.find('input').each(function () {
if (!this.name || !this.type) {
return
}
var type = this.type;
if (type == 'checkbox' || type == 'radio') {
if (this.checked) {
setmultivalue(val, this.name, this.value);
}
return;
}
setmultivalue(val, this.name, this.value);
});
obj.find('select').each(function () {
var value = $(this).val();
if (value && value.constructor == Array) {
value = value[0];
}
setmultivalue(val, this.name, value);
});
obj.find('textarea').each(function () {
var va = $.trim($(this).val());
setmultivalue(val, this.name, va);
});
obj.find('img').each(function () {
if (!this.name) {
return
}
var va = $.trim($(this).attr('src'));
setmultivalue(val, this.name, va);
})
return val;
* 獲取提交的資料
* @param obj
* @returns {{}}
*/
m.getParameterMap = function (obj) {
var setmultivalue = function (val, name, value) {
if (!value)value = '';
if (val[name] === undefined) {
val[name] = value;
} else {
if (val[name].constructor == Array) {
val[name].push(value)
} else {
var v = val[name];
val[name] = [];
val[name].push(v)
val[name].push(value)
}
}
};
var val = {};
obj.find('input').each(function () {
if (!this.name || !this.type) {
return
}
var type = this.type;
if (type == 'checkbox' || type == 'radio') {
if (this.checked) {
setmultivalue(val, this.name, this.value);
}
return;
}
setmultivalue(val, this.name, this.value);
});
obj.find('select').each(function () {
var value = $(this).val();
if (value && value.constructor == Array) {
value = value[0];
}
setmultivalue(val, this.name, value);
});
obj.find('textarea').each(function () {
var va = $.trim($(this).val());
setmultivalue(val, this.name, va);
});
obj.find('img').each(function () {
if (!this.name) {
return
}
var va = $.trim($(this).attr('src'));
setmultivalue(val, this.name, va);
})
return val;
};
// 測試
var data = m.getParameterMap($("#form1"));
console.info("表單資料data:",data);