extjs中form.reset(true)出现的bug修复

在之前的开发extjs中,用ext.form.panel开发了一个表单,当使用了reset(true)之后,再次使用getRecord()却还是可以得到值,该值为上一次的旧值,查看了api文档,再结合源码来看,发现了其中的错误,其中在form中查看reset()方法,可以看到是这么定义 的,

reset: function() {
        this.form.reset();
    },

可见其中的参数并未传递到真正的reset()方法中,该方法继承自Ext.form.base中查看其中的代码

reset: function(resetRecord) {
        Ext.suspendLayouts();

        var me     = this,
            fields = me.getFields().items,
            f,
            fLen   = fields.length;

        for (f = 0; f < fLen; f++) {
            fields[f].reset();
        }

        Ext.resumeLayouts(true);

        if (resetRecord === true) {
            delete me._record;
        }
        return me;
    },

由此可见,错误可能是因为未传入参数造成,于是我们可以将调用方法由form.reset(true)改为form.getForm().reset(true)即可

时间: 2025-01-05 10:57:34

extjs中form.reset(true)出现的bug修复的相关文章

extjs中form表单提交成功、失败的响应信息

类Ext.form.Action.Submit 处理表单Form数据和返回的response对象的类. 该类的实例仅在表单Form{@link Ext.form.BasicForm#submit 提交}的时候创建. 返回的数据包必须包含一个 boolean 类型的success属性,还有可选地,一个含有无效字段的错误信息的属性 A response packet may contain: ·        success property : Boolean - required. ·     

ExtJS中的reset()方法无效

ExtJS若存在共用一个form的情况下应先调用show()方法,再将数据重置,否则reset()方法会失效,页面会遗留之前form的数据. addItem: function(){ this.addDlg.show(); this.addDlg.setOper('add'); }, /*修改用户信息操作*/ updItem : function(grid, rowIndex, colIndex) { /*if (!IsmpYH.common.isHasPermission(this.modAu

ExtJs中disabled和readOnly美观度的分析

ExtJs中disabled和readOnly美观度的分析 ExtJs中,如果设置输入框为只读属性,一般第一考虑的都是readonly=true 它的效果和正常输入框一样,但是不允许输入: 然而,它很容易引起歧义,让用户第一感觉是它是输入框,有输入信息的冲动,其实不然: 这时候,可以考虑使用disabled=true属性 这下绝对不会认为可输入,一看就知道不允许修改,但字体颜色明显很模糊,所以效果不佳: 因此,使用中常常仍然使用readOnly=true,但修改背景颜色来做到disabled的更

Extjs中FieldSet的收缩和展开实例

Extjs中FieldSet的收缩和展开实例: FieldSet表单控件属于Ext.form.FieldSet的类,继承自:Ext.Panel,表示对某一组字段的标准容器,其中最主要的一个功能就是收缩和展开收缩与展开demo: items: [ id:'check_email_hacklog_send', xtype: 'fieldset', height:'auto', checkboxToggle: true, checkboxName: 'enable_email_hacklog_send

ExtJS中layout的12种布局风格

原文地址: http://www.cnblogs.com/mingforyou/p/4119200.html ExtJS中layout的12种布局风格 extjs的容器组件都可以设置它的显示风格,它的有效值有 absolute, accordion, anchor, border, card, column, fit, form and table.  一共9种. 另外几种见:  http://www.sencha.com/deploy/dev/examples/layout-browser/l

ExtJS 中文件上传控件

1 Ext.onReady(function(){ 2 var fileUpload = new Ext.FormPanel({ 3 id:'fileUpload', 4 frame:true, 5 fileUpload:true, 6 items:[{ 7 xtype:'textfield', 8 labelStyle : 'text-align:right;', 9 allowBlank:false, 10 fieldLabel:'选择文件', 11 inputType:'file', 12

Extjs的form跨域提交文件时,无法获取返回结果

form文件表单跨域提交时,无法获取远程服务器的返回结果,form提交代码如下: form.submit({ url:'http://{remoteUrl}/hgisserver/wrds/file', waitMsg: 'Reading your file...', method : 'POST', success: function(fp, o) { console.log(o); }, failure: function(form, action) { console.log(action

ExtJS中TreeGrid的用法

如果您是第一次使用ExtJS的TreeGrid的话,我相信总会有一些小麻烦的,下面就来说一说ExtJS中TreeGrid的使用. 本人使用的ExtJS版本为4.0.7,并且使用了MVC模式,如果不了解ExtJS的MVC模式的话我个觉得还是有必要去学学的, 学完后你肯定会喜欢上的. 其实在ExtJS中并没有TreeGrid这么一个类,这个说法是从EasyUI中借用过来的,ExtJS中的TreeGrid功能已经合在了Ext.tree.Panel中. TreeGrid显示出来大概是这个样子: 下面是这

jquery中form中使用submit出现的问题,未解决

$("#login_btn").click(function(){在type为submit的按钮下 if($("#id_password").val().length == 0){//检验密码是否为空 $('form').submit(function(){ alert("1") return false; }); }else if($("#vali").val() != code){//验证码是否正确 $('form').s