sencha touch :: FormPanel的disable()/ enable()问题

时间:2011-05-24 08:30:08

标签: forms sencha-touch

那已经成熟 - 它工作和突然(除了将代码添加到其他面板之外什么都没改变......)它不再起作用了:

我曾经使用停靠工具栏中的按钮启用/禁用表单。在按钮的处理程序内,使用简单的

触发禁用/启用
formBase.enable();

但这会引发错误

  

TypeError:表达式'formBase.enable'[undefined]的结果不是a   功能

现在

我不明白...... 任何帮助都会很棒! THX!

1 个答案:

答案 0 :(得分:2)

您可能存在范围问题,因此无法从按钮处理程序中获取formBase变量。 我发布了一个完整的工作示例,让您了解如何启用/禁用您的表单。

Ext.setup({
onReady: function() {

    var form = new Ext.form.FormPanel({
        scroll: 'vertical',
        fullscreen: true,
        url   : 'postUser.php',
        standardSubmit : false,
        dockedItems: [{
            xtype: 'toolbar',
            title: 'Example',
            items: [{
                xtype: 'button',
                text: 'Disable',
                handler: function(){
                    form.disable();
                }
            },{
                xtype: 'spacer'
            },{
                xtype: 'button',
                text: 'Enable',
                handler: function(){
                    form.enable();
                }
            }]
        }],
        items: [{
            xtype: 'fieldset',
            title: 'Personal Info',
            instructions: 'Please enter the information above.',
            defaults: {
                required: true,
                labelAlign: 'left',
                labelWidth: '40%'
            },
            items: [
            {
                xtype: 'textfield',
                name : 'name',
                label: 'Name',
                useClearIcon: true,
                autoCapitalize : false
            }, {
                xtype: 'passwordfield',
                name : 'password',
                label: 'Password',
                useClearIcon: false
            }]
        }]
    });

    form.show();
}
});

希望这有帮助。