ExtJs - FormPanel无法正确呈现

时间:2010-09-02 18:59:57

标签: javascript constructor extjs formpanel

我有constuctor(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不能正确呈现?哪里有错误? THX。

1 个答案:

答案 0 :(得分:1)

问题是当您将initialConfig分配给表单时,因为它是根据ExtJS API的readonly属性而不是有效的config-option。

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

url: '123132.php',

或者,如果您想让您的班级用户使用其他网址,而不是您可以使用的默认网址:

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

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

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