日期:2014-05-16 浏览次数:20510 次
//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); } }); } });