Nic*_*ick 2 forms extjs elements extjs4
我创建了一个extjs表单,它使用列布局分为两部分,其中包含大约10-15个输入元素.如何根据条件一次禁用所有这些输入元素.目前我已经创建了一个函数,它可以获取表单中的所有组件,并通过每个元素使用ext.each循环来禁用它们
这是我使用的功能
function prepare_form_view(form){
var f=Ext.getCmp(form);
var els=f.query('component');
Ext.each(els,function(o){
var xtype=o.getXType();
if(xtype=='textfield'||xtype=='combobox'||xtype=='datefield'||xtype=='textareafield'||xtype=='button'){
o.disabledCls='myDisabledClass';
o.disable();
}
});
}
Run Code Online (Sandbox Code Playgroud)
是否有任何替代方法,以便我可以禁用所有元素而不循环遍历每个元素.我也希望将此功能与其他形式一起使用.我正在寻找像'setFieldDefult'这样的功能.
如果您在ExtJs 4.x中使用FormPanel,那么这就是您要寻找的 -
yourFormPanel.getForm().applyToFields({disabled:true});
Run Code Online (Sandbox Code Playgroud)
该getForm()方法返回Ext.form.Basic对象,使用此类,您还可以访问此表单上的所有字段getFields(),然后您可以迭代所有字段以执行任何操作.
希望这会有所帮助并祝你好运:-)
| 归档时间: |
|
| 查看次数: |
10964 次 |
| 最近记录: |