2010-09-02 78 views
0

我有constuctor(窗口+ FormPanel中)ExtJS的 - 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

問題是當您將initialConfig指定給窗體時,因爲它是根據ExtJS API的只讀屬性,而不是有效的配置選項。的

因此,而不是使用initialConfig設置URL,你只需要設置url屬性,因爲每個基本形式配置選項由表也接受:

url: '123132.php', 

或者,如果你想讓用戶你的類中使用另一個URL而不是默認的一個,你可以這樣做:

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

順便說一下,你的文本框沒有id也不name,這是很重要的,如果你正在提交這種形式,爲t hese將用文本框的值定義將到達服務器的參數的名稱。

在這裏你有固定的例子供你玩:http://jsfiddle.net/HPBvy/。您可以使用螢火蟲或任何其他網頁開發者工具來查看POST通話。

+0

thx很多這個例子! – 2010-09-03 06:26:54

+0

jsfiddle.net的一些有趣的錯誤 - 在Chrome瀏覽器中都能正常工作,但是在firefox窗口中不顯示:)看起來它只是服務器錯誤,因爲在我的服務器上該示例工作得很好。 Thx Protron! – 2010-09-03 06:45:38