sencha touch :: FormPanel 的禁用()/启用()问题

发布于 2024-11-09 04:56:11 字数 310 浏览 0 评论 0原文

太奇怪了 - 它工作了,然后突然(除了向其他面板添加代码之外什么也没改变......)它不再工作了:

我曾经使用停靠工具栏中的按钮来启用/禁用表单。在按钮的处理程序中,禁用/启用是通过一个简单的操作触发的,

formBase.enable();

但这会引发错误

类型错误:表达式“formBase.enable”的结果[未定义]不是 函数。

现在。

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

thats weired - it worked and suddenly (changed nothing but adding code to other panels...) it's not working any more:

I used to enable/disable a form with a button inside a docked toolbar. within the handler ofthe button the disable/enable is triggered with a simple

formBase.enable();

but this is throwing the error

TypeError: Result of expression 'formBase.enable' [undefined] is not a
function.

now.

I don't get it....
any help would be great!
thx!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寂寞美少年 2024-11-16 04:56:11

您可能存在范围问题,因此您无法从按钮处理程序获取 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();
}
});

希望这有帮助。

You probabilly have a scope issue, so you can't get your formBase variable from the button handler.
I post you a full working example I've done to let you understand how it is possible to enable / disable your form.

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();
}
});

Hope This helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文