0

我有构造函数(window + formPanel)

AddOrgWindowUI = Ext.extend(Ext.Window, {
title: 'Create something',
width: 400,
height: 200,
layout: 'fit',
initComponent: function() {
    this.items = [
        {
            xtype: 'form',
            id: 'add-form',
            padding: 5,
            initialConfig: Ext.apply(this.initialConfig, {
                url: '123132.php'
            }),
            items: [
                {
                    xtype: 'textfield',
                    fieldLabel: 'abbr',
                    anchor: '95%',
                    value: this.abbr,
                    emptyText: 'abbr'
                }

            ],
            buttons: [
                {
                    text: 'Add',
                    handler: function() {
                        Ext.getCmp('add-form').getForm().submit();
                    }
                }
            ]
        }
    ];
    AddOrgWindowUI.superclass.initComponent.call(this);
}});

但是当我尝试创建它时 -var AddOrgWindowForm = new AddOrgWindowUI({n_full:'aaa'});AddOrgWindowForm.show();我得到一个空窗口(没有表单面板) 为什么 formPanel 不能正确呈现?我哪里有错误?谢谢。

4

1 回答 1

1

问题是当您将 分配initialConfig给表单时,因为它是根据ExtJS API的只读属性,而不是有效的配置选项。

initialConfig因此,您只需设置url属性,因为表单也接受每个基本表单配置选项,而不是使用设置 url:

url: '123132.php',

或者,如果您想让您的班级的用户使用另一个网址而不是默认网址,您可以这样做:

url: this.urlForm || '123132.php',

顺便说一句,您的文本框没有idnor name,如果您要提交此表单,这一点很重要,因为它们将定义参数的名称,该参数将使用文本框的值到达服务器。

在这里,您可以使用固定示例:http: //jsfiddle.net/HPBvy/。您可以使用 firebug 或任何其他 web-developer-tool 来查看 POST 调用。

于 2010-09-03T00:40:55.280 回答