获取表单控件原始(初始)值的方法

复制代码 代码如下:

  var saveObject = {};//保存变更的值

  function saveThisData(obj,type){//产生变更的数据会在右侧显示原值

  var defaultValue,newValue,key,displayValue;

  var defaultValueDisplayFont;

  switch (type) {

  case 'select'://Ext下拉框

  defaultValue=obj.originalValue.split(']')[0].substring(1);

  newValue=obj.value;

  key=obj.id;

  defaultValueDisplayFont=obj.container.dom.getElementsByTagName("font")[0];

  displayValue=obj.originalValue.substring(defaultValue.length+2);//去除括号及代码

  break;

  case 'check'://复选框

  key=obj.name;

  defaultValueDisplayFont=obj.parentElement.getElementsByTagName("font")[0];

  defaultValue=obj.defaultChecked;

  if(defaultValue){

  displayValue='是';

  }else{

  displayValue='否';

  }

  if(obj.checked){

  newValue=1;

  }else{

  newValue=0;

  }

  break;

  case 'rq'://Ext日期对象

  key=obj.name;

  defaultValueDisplayFont=obj.parentElement.parentElement.getElementsByTagName("font")[0];

  defaultValue=obj.defaultValue;

  newValue=obj.value;

  displayValue=defaultValue;

  break;

  case 'enum'://Ext封装的枚举下拉框对象

  key=obj.id;

  defaultValue=obj.startValue;

  newValue=obj.value;

  displayValue=obj.originalValue;

  defaultValueDisplayFont=obj.container.dom.getElementsByTagName("font")[0];

  break;

  default:

  if(arguments[2]!=null){//年月控件

  var monthFieldid=obj.container.dom.id.split("_")[1];

  key=monthFieldid;

  defaultValue=Ext.getDom('sccjgzny').defaultValue;

  newValue=Ext.getDom('sccjgzny').value;

  var yy=defaultValue.substring(0,7);

  displayValue=yy.replace('-','年')+'月';

  defaultValueDisplayFont=Epx.get(monthFieldid).container.dom.getElementsByTagName("font")[0];

  }

  else{

  key=obj.name;

  defaultValueDisplayFont=obj.parentElement.getElementsByTagName("font")[0];

  defaultValue=obj.defaultValue;

  newValue=obj.value;

  displayValue=defaultValue;

  }

  break;

  }

  saveObject[key] = newValue;

  if(defaultValue != newValue){

  if(defaultValue=='' && type != 'check'){

  defaultValueDisplayFont.innerHTML="    ";

  }else{

  defaultValueDisplayFont.innerHTML=displayValue;

  }

  } else {

  defaultValueDisplayFont.innerHTML='';

  delete saveObject[key];

  }

  }

  效果图:

获取表单控件原始(初始)值的方法