设置表单控件为只读: setFieldReadOnly = function(f, bReadOnly) { if (f instanceof Ext.form.ComboBox) { f.setEditable(!bReadOnly); if (bReadOnly) { f.expandOrg = f.expand; f.expand = function() { }; } else { f.expand = f.expandOrg; } } else { f.getEl().dom.readOnly = bReadOnly; if (bReadOnly) f.getEl().addClass('x-form-readonly'); else f.getEl().removeClass('x-form-readonly'); }}; 复制代码 抑制表单提交: disableEnter = function() { Ext.select('input').on('keypress', onEnterkey); Ext.select('select').on('keypress', onEnterkey);}onEnterkey = function(e) { if (e.getKey() == e.ENTER && e.target.type != null) { if (e.target.type != 'submit' && e.target.type != 'button' && e.target.type != 'textarea') { e.stopEvent(); } }} 复制代码 追加表单验证的规则: Ext.apply(Ext.form.VTypes, { hankaku : function(v) { var R = /^[ -~。-゚]*$/; return R.test(v) }, hankakuText : '只允许半角。', hankakuMask : /[ -~。-゚]/i}); 复制代码 使用Ext.Element的mask方法,把fieldset的一部分做控件为不可输入。 var fieldset = Ext.get('fieldset');fieldset.on('keydown', function(e) { e.stopEvent();});fieldset.mask();// 解除fieldset.unmask();fieldset.un('keydown', function(e) { e.stopEvent();}); 复制代码