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

代码如下:

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];
}
}

效果图:

(0)

相关推荐

  • 全面解析Bootstrap表单使用方法(表单控件)

    一.输入框input 单行输入框,常见的文本输入框,也就是input的type属性值为text. 在Bootstrap中使用input时也必须添加type类型,如果没有指定type类型,将无法得到正确的样式,因为Bootstrap框架都是通过input[type="?"] (其中?号代表type类型,比如说text类型,对应的是input[type="text"])的形式来定义样式的. 为了让控件在各种表单风格中样式不出错,需要添加类名".form-con

  • IE在DOM操作有表单控件时的bug

    bug描述 当象下例中那样操作了表单radio/checkbox的DOM结构时(或者直接影响了他们的结构时)选中的checkbox/radio将会自动恢复到默认状态,有如点了reset按钮一样. Rank's HTML document /**/ IE form control bug from: never-online weblog 1. Select radio to checked radio1 radio2 radio3 radio4 2. Click button to change

  • php通过隐藏表单控件获取到前两个页面的url

    自己在学习过程中也遇到了类似的问题: 比如,后台是想做成这样子的: 但是实际则是这样的: 解决方法: 通过隐藏表单控件 <input type="hidden" name="prevurl" value="<?php echo $_SERVER['HTTP_REFERER']?>"> 这样$_SERVER['HTTP_REFERER']的值看上去就暂时存到了$_POST[prevurl]里. 其实这个方法的原理还是把上一个

  • 全面解析Bootstrap表单使用方法(表单控件状态)

    一.焦点状态 焦点状态是通过伪类":focus"来实现.Bootstrap框架中表单控件的焦点状态删除了outline的默认样式,重新添加阴影效果. <form role="form" class="form-horizontal"> <div class="form-group"> <div class="col-xs-6"> <input class="

  • Bootstrap所支持的表单控件实例详解

    Bootstrap所支持的表单控件如下所示: Bootstrap 支持最常见的表单控件,主要是 input.textarea.checkbox.radio 和 select. 输入框(Input) 最常见的表单文本字段是输入框 input.用户可以在其中输入大多数必要的表单数据.Bootstrap 提供了对所有原生的 HTML5 的 input 类型的支持,包括:text.password.datetime.datetime-local.date.month.time.week.number.e

  • JS模拟并美化的表单控件完整实例

    本文实例讲述了JS模拟并美化的表单控件效果实例.分享给大家供大家参考.具体如下: 这里演示使用JS美化并模拟网页表单控件,十分漂亮的表单效果,使用时可以将代码内的JS保存为文件, 方便调用,使用方法:WellForm(element) //element 为表单元素. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-like-table-control-style-codes/ 具体代码如下: <!DOCTYPE html PUBLIC &qu

  • javascript表单控件实例讲解

    本文实例为大家分享js表单控件多个实例讲解,供大家参考,具体内容如下 实例一:遍历表单的所有控件 <script type="text/javascript"> //遍历表单的所有控件 function getValues(){ var f = document.forms[0]; //获取表单DOM var elements = f.elements; //获取所有的控件数组 var str = ''; //拼接字符串 //循环遍历 for(var i=0; i<e

  • Bootstrap中表单控件状态(验证状态)

    在制作表单时,难免要做表单验证.同样也需要提供验证状态样式,在Bootstrap框架中同样提供这几种效果. 1..has-warning:警告状态(黄色) 2..has-error:错误状态(红色) 3..has-success:成功状态(绿色) 使用的时候只需要在form-group容器上对应添加状态类名. <form role="form"> <div class="form-group has-success"> <label c

  • jQuery操作DOM之获取表单控件的值

    本文实例讲述了jQuery操作DOM之获取表单控件的值.分享给大家供大家参考.具体分析如下: HTML属性与DOM属性差别最大的地方,恐怕就要数表单控件的值了.比如,文本输人框的 value属性在DOM中的属性叫defaultValue,DOM中就没有value属性.而选项列表(select) 元素呢,其选项的值在DOM中通常是通过selectedIndex属性,或者通过其选项元素的 selected属性来取得. 由于存在这些差异,在取得和设置表单控件的值时,最好不要使用.attr()方法.而对

  • Vue.js每天必学之表单控件绑定

    基础用法 可以用 v-model 指令在表单控件元素上创建双向数据绑定.根据控件类型它自动选取正确的方法更新元素.尽管有点神奇,v-model 不过是语法糖,在用户输入事件中更新数据,以及特别处理一些极端例子. Text <span>Message is: {{ message }}</span> <br> <input type="text" v-model="message" placeholder="edit

随机推荐