0

私は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が正しくレンダリングされないのですか?どこが間違っているの?どうも。

4

1 に答える 1

1

initialConfig問題は、フォームにを割り当てるときに発生します。これは、 ExtJS APIによる読み取り専用プロパティであり、有効なconfig-optionではないためです。

initialConfigしたがって、URLを設定するために使用する代わりにurl、すべての基本フォームconfig-optionがフォームでも受け入れられるため、プロパティを設定する必要があります。

url: '123132.php',

または、クラスのユーザーがデフォルトのURLとは別のURLを使用できるようにする場合は、次のようにします。

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

ちなみに、テキストボックスにはidnorもありませんname。これは、このフォームを送信する場合に重要です。これらは、テキストボックスの値とともにサーバーに到着するパラメーターの名前を定義するためです。

ここに、あなたが遊ぶための固定された例があります:http: //jsfiddle.net/HPBvy/。firebugまたはその他のweb-developer-toolを使用して、POST呼び出しを確認できます。

于 2010-09-03T00:40:55.280 に答える