0

我试图在应用程序启动时禁用一些选择字段。我的主要导航是一个标签面板,我在这里有一个设置表单:

{
                    xtype: 'formpanel',
                    title: 'Einstellungen',
                    iconCls: 'settings',
                    cls: [
                        'settingsPanel'
                    ],
                    id: 'settingsPanel',
                    ui: 'light',
                    layout: {
                        type: 'vbox'
                    },
                    scrollable: false,
                    items: [
                        {
                            xtype: 'selectfield',
                            border: '',
                            cls: [
                                'name1'
                            ],
                            id: 'name1',
                            labelAlign: 'top',
                            autoCapitalize: false,
                            autoComplete: false,
                            placeHolder: '1. Name eingeben',
                            displayField: 'name',
                            store: 'settingsStore',
                            valueField: 'name'
                        }

现在在控制器的初始化函数中我试试这个:

var form = Ext.ComponentQuery.query('formpanel');
form.getAt(0).disable();
form.getAt(1).disable();
form.getAt(2).disable();

但我得到:

Uncaught TypeError: Object [object Object] has no method 'getAt'

如何在控制器中获取表单并禁用选择字段?这可能是范围问题吗?

谢谢!

4

1 回答 1

1

我已经解决了您的问题并解决了它。以下是两个代码:-

主导航.js

    {
        xtype: 'fieldset',
        id: 'abc', // give a unique 'id' to your fieldset
        items: [
                {
                    xtype: 'selectfield',
                    border: '',
                    cls: [
                        'name1'
                    ],
                    id: 'name1',
                    labelAlign: 'top',
                    autoCapitalize: false,
                    autoComplete: false,
                    placeHolder: '1. Name eingeben',
                    displayField: 'name',
                    store: 'settingsStore',
                    valueField: 'name'
                }
           ]
    }

控制器.js

      launch: function () {
                console.log("launch");
                var form = Ext.getCmp('abc'); // calling fieldset with 'id'
                console.log('Fetching fieldset...');
                form.getAt(0).disable();
            }

希望这可以帮助。

于 2012-10-08T06:29:38.287 回答