forms - Extjs 4:一次禁用Extjs表单中的所有输入元素

标签 forms extjs extjs4 elements

我创建了一个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();
        }
    });
}


有没有其他方法可以使我禁用所有元素,而无需遍历每个元素。我也想将此功能与其他形式一起使用。我在寻找类似“ setFieldDefult”功能的东西。

最佳答案

如果您在ExtJs 4.x中使用FormPanel,那么您正在寻找的是-

yourFormPanel.getForm().applyToFields({disabled:true});


getForm()方法返回Ext.form.Basic对象,使用此类,您还可以使用getFields()访问此表单上的所有字段,然后可以迭代所有字段以执行任何操作。

希望这会有所帮助,并祝你好运:-)

关于forms - Extjs 4:一次禁用Extjs表单中的所有输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9305888/

相关文章:

php - INSERT/UPDATE PHP 变量连同 SQL 中其他表的值

ExtJS 和 Spring 3.0 MVC 的 Javascript 测试框架

javascript - Ext.window.MessageBox draggable false,调用hide方法出错

algorithm - 什么是将元素放入容器并使容器尽可能均匀的良好排序算法?

forms - PayPal 未预填充所有表单字段

npm - 安装 @sencha/ext-react-modern 免费试用 ExtReact 失败

tomcat - 如何强制浏览器在内容类型 http header 中设置字符集

php - EXTJS 4 : Editable grid doesn't commit changes to MySQL Database

jquery提交失败

jquery - 如何在提交之前从表单serialize()获取和替换数据?