Вот, немного видоизменил, лучше не объявлять глобальную функцию, а сделать ее методом формы, однако метод add() у класса есть и называть его также - значит переопределить его, чего делать не стоит=)
проверил в ExtJS 4.0.1 - работает.
var myWIN = new Ext.Window({
width: 500,
title: 'Наше окошко',
layout: 'fit',
addField: function(){
// Если версия ExtJS < 4, то
//var frm = this.find('xtype', 'form')[0];
// Если версия ExtJS >= 4, то
var frm = this.down('form');
frm.add({
xtype: 'textfield',
fieldLabel: 'Текстовое итое',
name: 'text',
width: 300,
allowBlank: false
});
this.doLayout();
},
modal: true,
items: [
{
xtype: 'form',
items:[
{
xtype:'textfield',
fieldLabel: 'Текстовое поле',
name: 'text1'
},{
xtype: 'container',
layout: 'hbox',
items: [
{
xtype:'textfield',
fieldLabel:'Текстовое поле2',
name:'text2'
},{
xtype: 'button',
text: 'GO',
handler: function(){
myWIN.addField();
}
}
]
},{
xtype: 'button',
text: 'Кнопка'
}
]
}
]
})