您现在的位置是:首页 > 电脑技术查询 > web开发

匡正Extjs表单中emptyText的提交

编辑:chaxungu时间:2022-10-10 23:24:32分类:web开发

修正Extjs表单中emptyText的提交
//使用Ext3.3自带的清除emptyText的方法
//onRenderTmp不放在override中,因为在Ext3.0下,会造成递归导致堆栈溢出var onRenderTmp = Ext.form.FormPanel.prototype.onRender;Ext.override(Ext.form.FormPanel, {    //缓存原有onRender方法再重写(这里不方便使用extend,因为项目中使用的都是Ext.form.FormPanel)    onRender: function(ct, position){        onRenderTmp(ct, position);        this.form.on({            //使用Ext3.3自带的清除emptyText的方法            beforeaction : function(form, action){                var fields = form.items,                    emptyFields = [],                    setupEmptyFields = function(f){                        if (f.el.getValue() == f.emptyText) {                            emptyFields.push(f);                            f.el.dom.value = "";                        }                        if(f.isComposite && f.rendered){                            f.items.each(setupEmptyFields);                        }                    };                fields.each(setupEmptyFields);            }        });    }});

注:由于原有自己的方式有bug,而且知道Ext后续版本有清除方式,所以此处修改为使用Ext3.3的代码,以免误导别人。 1 楼 qtalen 2011-09-12 BaseForm的submit在选项里可以设的。
设置submitEmptyText为false就行了。搞那么麻烦干嘛 2 楼 tipx 2011-09-18 qtalen 写道BaseForm的submit在选项里可以设的。
设置submitEmptyText为false就行了。搞那么麻烦干嘛
现在才知道有这个参数,多谢指教(不过Ext3.0这个版本还没有这个参数)

上一篇:struts json注脚

下一篇:JSON与XML的差异