javascript表单域与表单域与json数据间的交互第数据间的交互第1/3页页
找了几个javascript的框架,都没有找到我想要的: 提供函数,把某个表单的所有域封装成json数据格式的对
象,唯有自己实现一个。
包括对象中有集合属性、对象中引用其他对象属性:
复制代码 代码如下:
/**
**json对象数据设置到表单域中
*/
function jsonObjectToForm(form, jsonObject){
for(i = 0, max = form.elements.length; i < max; i++) {
e = form.elements[i];
eName = e.name;
if(eName.indexOf('.') > 0){
dotIndex = eName.indexOf('.');
parentName = eName.substring(0, dotIndex);
childName = eName.substring(dotIndex+1);
//迭代判断eName,组装成json数据结构
eValue = iterValueFromJsonObject(jsonObject, parentName, childName);
}else{
eValue = jsonObject[eName];
}
if(eValue && eValue != "undefined" && eValue != "null"){
switch(e.type){
case 'checkbox':
case 'radio':
if(e.value == eValue){
e.checked = true;
}
break;
case 'hidden':
case 'password':
case 'textarea':
case 'text':
e.value = eValue;
break;
case 'select-one':
case 'select-multiple':
for(j = 0; j < e.options.length; j++){
op = e.options[j];
//alert("eName : " + eName + "; op value : " + op.value + "; eValue : " + eValue);
if(op.value == eValue){
op.selected = true;
}
}
break;
case 'button':
case 'file':
case 'image':
case 'reset':
case 'submit':
default:
}
}
}
}
/**
* json数组读写有两种方式
* 1: a.bs[0].id
* 2: a["bs"][0]["id"]
* 把表单转换成json数据格式
*/
function formToJsonObject(form){
var jsonObject = {};
评论0
最新资源