У меня есть extjs2 FormPanel:близко ExtJS окно после того, как форма представления
var fsf = new Ext.FormPanel({
labelWidth: 75, // label settings here cascade unless overridden
frame:true,
id: 'formPanel',
title: 'Simple Form with FieldSets',
bodyStyle:'padding:5px 5px 0',
width: 550,
items: [{
xtype:'fieldset',
checkboxToggle:true,
title: 'User Information',
autoHeight:true,
defaults: {width: 210},
defaultType: 'textfield',
collapsed: true,
items :[{
fieldLabel: 'First Name',
name: 'first',
allowBlank:false
},{
fieldLabel: 'Last Name',
name: 'last'
},{
fieldLabel: 'Company',
name: 'company'
}, {
fieldLabel: 'Email',
name: 'email',
vtype:'email'
}
]
},{
xtype:'fieldset',
title: 'Phone Number',
collapsible: true,
autoHeight:true,
defaults: {width: 210},
defaultType: 'textfield',
items :[{
fieldLabel: 'Home',
name: 'home',
value: '(888) 555-1212'
},{
fieldLabel: 'Business',
name: 'business'
},{
fieldLabel: 'Mobile',
name: 'mobile'
},{
fieldLabel: 'Fax',
name: 'fax'
}
]
}],
buttons: [{
text: 'Save',
handler: function(){
var form = Ext.getCmp('formPanel').getForm();
if(form.isValid())
form.submit({
waitMsg:'Loading...',
url: 'RepeatSession.jsp',
success: function(form,action) {
//we have to close the window here!!
},
failure: function(form,action){
Ext.MessageBox.alert('Erro',action.result.data.msg);
}
});
}
},{
text: 'Cancel'
}]
});
и окно:
win = new Ext.Window(
{
layout: 'fit',
width: 500,
height: 300,
modal: true,
closeAction: 'hide',
items: fsf
});
win.show();
Как вы можете видеть, форма панели находится внутри окна как элемент. Я должен закрыть окно после успешного представления формы, но я понятия не имею, как получить доступ к объекту окна внутри моего обработчика успеха.
Как я могу скрыть окно после успешной подачи формы?
Этот код не работает, но, как вы сказали в своем ответе, я сделал 'win' доступным в моем коде (создав выигрыш и форму, а затем добавив форму к выигрышу' win.add() ') и называется 'win.close()' внутри обработчика. – danrah
'function (button, e)' именно то, что мне нужно для передачи информации о внешней форме обработчику. Всегда всегда возвращайтесь к документации и смотрите сигнатуры функции прослушивателя событий. – Meredith
Обычно я просто копирую целую подпись в свой код и игнорирую мою среду IDE, жалуясь на неуспешные параметры. – AndreKR