2010-09-02 133 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