Ciao a tutti,
Sono di fronte a un problema che non riesco a risolvere, sicuramente è una banalità.
Attraverso prototype eseguo delle chiamate AJAX. Ho una semplice funzione sendAjaxRequest che per semplicità prepara la richiesta con un formato comune a tutta la web application:
codice:
function sendAjaxRequest() {
var url = arguments[0];
var prop = arguments[1];
var silent = false;
if (arguments.length > 2) {
var silent = arguments[2];
}
prop.method = 'post';
if (!silent) {
prop.onCreate = function(t) {
document.body.appendChild(new Element('div', { 'id' : 'wait' }));
};
prop.onComplete = function(t) {
$('wait').remove();
};
}
prop.onFailure = function(t) {
alert('Errore di comunicazione con il server.');
};
return new Ajax.Request(url, prop);
}
Tutto funziona perfettamente, eccetto quando silent è false e il secondo argomento passato alla funzione sendAjaxRequest già contiene la definizione di onComplete (stesso problema per onCreate che attualmente non sto usando).
Come faccio a fare in modo che i trigger onCreate e onComplete vengano aggiunti se già definiti in prop?
Questa chiamata funziona, ma l'alert viene sovrascritto dalla onComplete assegnata nella sendAjaxRequest:
codice:
sendAjaxRequest('/url', {
onComplete: function(t) { alert('test'); }
});
Come faccio a fare in modo che la sendAjaxRequest aggiunga, in "append", alla eventuale onComplete già esistente evidando quindi di sovrascrivere il codice passato alla funzione?
Grazie.