ich eine Ext.FormPanel haben, die eine Save
Taste hat, die angeblich zwei Dinge in dieser Reihenfolge zu tun: (1) Post die Daten, (2) zurück auf die Seite, von wo aus sie aufgerufen wurde.Wie kann sichergestellt werden, dass eine Funktion erst ausgeführt wird, wenn Ext.FormPanel seine Daten erfolgreich übermittelt hat?
buttons: [{
text: 'Save',
handler: function() {
if(panel_form.getForm().isValid()){
panel_form.getForm().getEl().dom.action = 'backend/page/blocks/edit_positioned_post/17.html';
panel_form.getForm().getEl().dom.method = 'POST';
panel_form.getForm().submit(); //FIRST POST DATA
replace_region_with_uri_content('/backend/page'); //THEN GO BACK
} else {
Ext.Msg.minWidth = 360;
Ext.Msg.alert('Invalid Form', 'Some fields are invalid, please correct.');
}
}
},{
text: 'Cancel',
handler: function(){
replace_region_with_uri_content('/backend/page');
}
}]
Doch was tatsächlich geschieht rückwärts ist, wie ich in Firebug sehen kann, dh es (1) geht zurück, und (2) Beiträge die Daten, die zu der Situation führt, dass die Raster, das es zu zurückgibt, zeigt die aktualisierten Daten nicht an.
Wie kann ich es zwingen replace_region_with_uri_content()
nur auszuführen, nachdem panel_form.getForm().submit()
abgeschlossen ist, das heißt, durch die erste Funktion als Rückruf des zweiten Senden?
Yeh, die auch getan werden kann :) – Lloyd