Extjs Form 设置初始值的时候确保reset正确值

本文详细介绍了在使用Ext.form.FromPanel时,如何为组件如combobox设置初始值,并防止在重置表单时丢失这些值的方法。通过在设置初始值后增加一句Ext.getCmp('组件ID').originalValue=value;,可以确保即使调用form.reset(),组件也能保持正确的初始值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有些时候Ext.form.FromPanel中的组件都写好了,但是初始化的时候需要给组件填写初始值,例如combobox,textarea等。

可以使用Ext.getCmp('combobox').setValue('value');来设置初始值。

但是这样设置初始值有个问题,就是如果form.reset();
设置初始值的combobox就会被清空,因为form最初被实例化的时候,combobox是没有值的。

此时在setValue后,增加一句话,即可保证reset到正确的值:
Ext.getCmp('combobox').originalValue = value;


------------------------------------

buttons : [ {
                    text : "查询",
                    scope : this,
                    iconCls : "btn-search",
                    handler :function() {
                        var f = Ext.getCmp("dalyTjsearchPanelForm1");
                        var s = Ext.Ajax.serializeForm(f.getForm().getEl());
                        var c = Ext.urlDecode(s);                          
                        var flexpage;
                        flexpage = document.getElementById("flexDalyTjSjPage");
                        var cond = "qvideoName,"+c.qvideoName+";qtype,"+c.qtype+";qcarriertype,"+c.qcarriertype
                        +";qincharge,"+c.qincharge+";qtakeposition,"+c.qtakeposition;
                        if(c.videoPieSearchFlag == "year"){
                           flexpage.callBackFlexDalyTjSj(cond+";qmakeDate,"+c.qmakeDateYear + ";qmakeEnd," + c.qmakeEndYear+"y");
                        }else{
                           flexpage.callBackFlexDalyTjSj(cond+";qmakeDate,"+c.qmakeDate + ";qmakeEnd," + c.qmakeEnd+"m");
                        }
                    }
                }, {
                    text : "重置",
                    scope : this,
                    iconCls : "btn-reset",
                    handler : function() {
                        Ext.getCmp('qvideoName2').setValue('');
                        Ext.getCmp('qtype2').setValue('');
                        Ext.getCmp('qcarriertype2').setValue('');
                        Ext.getCmp('qincharge2').setValue('');
                        Ext.getCmp('qtakeposition2').setValue('');
                        Ext.getCmp('qmakeDate').setValue('');
                        Ext.getCmp('qmakeEnd').setValue('');
                        Ext.getCmp('qmakeDateYear').setValue('');
                        Ext.getCmp('qmakeEndYear').setValue('');
                        var cond = "qvideoName,;qtype,;qcarriertype,;qincharge,;qtakeposition,"
                        var flexpage;
                        flexpage = document.getElementById("flexDalyTjSjPage");
                        flexpage.callBackFlexDalyTjSj(cond+";qmakeDate,;qmakeEnd,m");
                    }
                }]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值