Пробую делать это так:
var win = Ext.create('Ext.window.Window', {
title: 'Новый альбом',
width: 400,
height: 200,
closeAction : 'hide',
layout: 'fit',
modal: true,
items: [{
xtype: 'form',
id: 'newAlbumForm',
method: 'POST',
border: '0px',
bodyStyle: {padding: '5px'},
items: [{
xtype: 'textfield',
fieldLabel: 'Название',
id: 'name'
},
{
xtype: 'fieldset',
layout: 'fit',
style: {padding: '4px'},
title: 'Описание',
items: [{
xtype: 'textarea',
id: 'description'
}]
}],
baseParams: {
name: Ext.getCmp('name').value,
description: Ext.getCmp('description').value,
}
}],
buttons: [{
text:'Сохранить',
handler: function() {
Ext.getCmp('newAlbumForm').submit({
url: '/album/src/newalbum.php',
success: function(form, action){
Ext.MessageBox.alert('', action.result.message);
},
failure: function(form, action){
Ext.MessageBox.alert('', action.result.message);
}
});
}
},{
text: 'Отменить',
id: 'cancel'
}]
});
Получаю TypeError: Ext.getCmp(...) is undefined
Если использовать вместо Ext.getCmp Ext.get('name'), то возвращается null.
Внутри handler-а кнопки Ext.getCmp('name').value работает. Попробовал получить оттуда baseParams через this.up('form').baseParams: this.up(...) is undefined