У меня есть EXT.formPanel, в которой я хотел бы иметь такое поведение: две кнопки должны отправлять через ajax, а одна - нет.Как это сделать?
Это мой код:
form = new Ext.FormPanel({
frame:true,
width:Ext.crl.styles.formWidth,
title: 'Ricerca Atti',
bodyStyle:'padding:5px 5px 0',
defaultType: 'textfield',
formId:'search-form',
keys: [
{ key: [Ext.EventObject.ENTER], handler: function(){
ds.baseParams = form.getForm().getValues();
form.getForm().submit({url:urlRicerca,
waitMsg:'Ricerca in corso…', submitEmptyText: false, method:'GET',params: { start: 0, limit: PAGE_SIZE},
success:function(form,action) {Ext.crl.utils.searchOnSuccess(ds, action, grid); }
});
}
}
],
items: [
ricercaSemplice,
ricercaAvanzata,
{ //This button should submit NOT submit through AJAX!!!
text: 'Esporta Elenco',
disabled:false,
style: 'float:right;',
xtype: 'button',
handler: function() {
ds.baseParams = form.getForm().getValues();
form.getForm().submit({url:urlRicerca+".xls",
waitMsg:'Ricerca in corso…', submitEmptyText: false, method:'GET',params: { enableCsvFilter: "yes", start: 0, limit: PAGE_SIZE},
success:function(form,action) {console.log(action); }
});
}
},{
text: 'Reimposta',
xtype: 'button',
style: 'float:right;margin-right:10px',
disabled: false,
handler: function() {
form.getForm().reset();
//window.location.href = window.location.href;
}
},{
id: 'bottoreCercaRicerca',
name: 'bottoreCercaRicerca',
text: 'Cerca',
xtype: 'button',
style: 'float:right;margin-right:10px',
disabled: false,
handler: function() {
ds.baseParams = form.getForm().getValues();
form.getForm().submit({url:urlRicerca,
waitMsg:'Ricerca in corso…', submitEmptyText: false, method:'GET',params: { start: 0, limit: PAGE_SIZE},
success:function(form,action) {Ext.crl.utils.searchOnSuccess(ds, action, grid); }
});
}
},{
name: 'buttonSwitchRicerca',
xtype: 'button',
style: 'margin-bottom:10px',
text: 'Ricerca Avanzata',
handler: function() {
if(ricercaAvanzata.hidden) {
this.setText('Ricerca Standard');
ricercaAvanzata.show();
}
else {
this.setText('Ricerca Avanzata');
ricercaAvanzata.hide();
}
}
},
DEFAULT_SPACER,
Ext.crl.modalitaLavoro.comboModalitalavoro
]
});
Я написал комментарий о том, где кнопка НЕ должна использовать ajax.
РЕДАКТИРОВАТЬ - я 'мы нашли решение, это обработчик, который работает для того, чтобы не передавать через ajax (на самом деле то, что я хочу открыть в новом окне), что мне нужно.Есть ли другие варианты?
handler: function() {
query = form.getForm().getValues(true);
query += "&enableCsvFilter=yes";
var url = urlRicerca + ".xls?" + query;
window.open(url);
}