我有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。
答案 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调用。