function FindById(parent,id)
{
var objFromChild = null ;
for (var i = 0 ; i < parent.childNodes.length ; ++i)
{
if (parent.childNodes[i].id == id)
{
return parent.childNodes[i];
}
objFromChild=FindById(parent.childNodes[i], id);
if(objFromChild!= null)
return objFromChild ;
}
return objFromChild ;
}
function FindByName(parent,n_name)
{
var objFromChild = null ;
if(parent.childNodes.length>0){
for (var i = 0 ; i < parent.childNodes.length ; ++i)
{
var node_name = parent.childNodes[i].name;
if (node_name)
{
if(node_name==n_name){
return parent.childNodes[i];
}
}
objFromChild=FindByName(parent.childNodes[i],n_name);
if(objFromChild!= null)
return objFromChild ;
}
}
return objFromChild;
}
function formToJsonStr(obj) {//提取form内容生成json格式
var inputlist=obj.getElementsByTagName("INPUT");
var selectlist=obj.getElementsByTagName("SELECT");
var textarealist=obj.getElementsByTagName("TEXTAREA");
var strJson = "{";
var chk_array=new Array();
var rdo_array=new Array();
for(var i=0;i<inputlist.length;i++){
switch(inputlist[i].type){
case "text":
strJson += "\'" + inputlist[i].name +"\':\'"+filter_str(inputlist[i].value)+"\',";
break;
case "password":
strJson += "\'" + inputlist[i].name +"\':\'"+filter_str(inputlist[i].value)+"\',";
break;
case "checkbox":
var k=0;
for(var j=0;j<chk_array.length;j++){
if(inputlist[i].name==chk_array[j][0]){k=k+1;break;}
}
if(k==0) chk_array[chk_array.length] = [inputlist[i].name];
break;
case "radio":
var k=0;
for(var j=0;j<rdo_array.length;j++){
if(inputlist[i].name==rdo_array[j][0]){k=k+1;break;}
}
if(k==0) rdo_array[rdo_array.length] = [inputlist[i].name];
break;
case "hidden":
strJson += "\'" + inputlist[i].name +"\':\'"+filter_str(inputlist[i].value)+"\',";
break;
default:break;
}
}
for(var i=0;i<chk_array.length;i++){//get check box list
var temp="";
var k=0;
for(var j=0;j<inputlist.length;j++){
if(chk_array[i][0]==inputlist[j].name && inputlist[j].checked==true){
if(k>0) temp+=",";
temp += inputlist[j].value;
k++;
}
}
strJson += "\'" + chk_array[i][0] +"\':\'"+temp+"\',";
}
for(var i=0;i<rdo_array.length;i++){//get radio list
var temp="";
for(var j=0;j<inputlist.length;j++){
if(rdo_array[i][0]==inputlist[j].name && inputlist[j].checked==true){
temp+= inputlist[j].value;
}
}
strJson += "\'" + rdo_array[i][0] +"\':\'"+temp+"\',";
}
for(var i=0;i<selectlist.length;i++){
if(selectlist[i].options.length>0){
var temp="";
var sel=selectlist[i].options.selectedIndex;
if(sel>-1) temp=selectlist[i].options[sel].value
strJson+="\'"+selectlist[i].name+"\':\'"+temp+"\',";
}else{
strJson+="\'"+selectlist[i].name+"\':\'\',";
}
}
for(var i=0;i<textarealist.length;i++){
var str=textarealist[i].value;
str=str.replace(/\r\n/g,'')
strJson += "\'" + filter_str(textarealist[i].name) +"\':\'"+str+"\',";
}
if(strJson.length>1)strJson=strJson.substr(0,strJson.length-1);
strJson+="}";
return strJson;
}