const formUtil = {
|
|
/**
|
* 将表单转为对象
|
* @param fileds
|
*/
|
formFieldsToJSON: function (fileds) {
|
var finalResult = {};
|
for (key in fileds) {
|
var obj = {};
|
obj[key] = fileds[key];
|
var tempResult = this.formFieldToJSON(obj);
|
var keys = new Array();
|
|
while (Object.prototype.toString.call(tempResult) === '[object Object]') {
|
var key = Object.keys(tempResult)[0];
|
keys.push(key);
|
tempResult = tempResult[key];
|
}
|
|
var temp = "finalResult";
|
for (var i = 0; i < keys.length; i++) {
|
temp += "['" + keys[i] + "']";
|
if (i != keys.length - 1) {
|
if (eval(temp + "==undefined") == true) {
|
eval(temp + "={}");
|
}
|
} else {
|
eval(temp + "=" + (isNaN(tempResult) ? "'" + tempResult + "'" : tempResult));
|
}
|
}
|
}
|
|
return finalResult;
|
},
|
formFieldToJSON: function (field) {
|
var key = Object.keys(field)[0];
|
var value = field[key];
|
var keys = key.split(".");
|
if (keys.length > 1) {
|
var newValue = {};
|
var k = keys[keys.length - 1];
|
keys.splice(keys.length - 1, 1);
|
newValue[k] = value;
|
var final = {};
|
final[keys.join(".")] = newValue;
|
return this.formFieldToJSON(final);
|
} else {
|
return field;
|
}
|
},
|
jsonToFormField: function (data) {
|
var result = {};
|
for (key in data) {
|
if (Object.prototype.toString.call(data[key]) === '[object Object]') {
|
for (ckey in data[key]) {
|
result[key + "." + ckey] = data[key][ckey];
|
}
|
} else {
|
result[key] = data[key];
|
}
|
}
|
return result;
|
}
|
};
|