【问题标题】:howto get formpanel and disable selectfields with Sencha Touch 2如何使用 Sencha Touch 2 获取表单面板和禁用选择字段
【发布时间】:2012-10-06 13:31:59
【问题描述】:

我正在尝试在应用启动时禁用某些选择字段。 我的主要导航是一个选项卡面板,我在这里有一个设置表单:

{
                    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'

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

谢谢!

【问题讨论】:

    标签: touch extjs formpanel


    【解决方案1】:

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

    主要的 Nav.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'
                    }
               ]
        }
    

    controller.js

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      相关资源
      最近更新 更多