Newsgroup: it.comp.lang.javascript
Titolo: Richiamare funzione dopo caricamento via XMLHttpRequest

Ciao a tutti,
chi avrà letto il mio precedente post, capirà il perché di questa mia 
richiesta.
Allora, in una pagina carico via XMLHttpRequest in un div il contenuto 
di tale richiesta.
Al termine del caricamento dovrei richiamare una funzione javascript, 
quale evento dovrei sfruttare?
La libreria che uso per gestire le chiamate AJAX ad alto livello 
(prototype) mi permette di definire una funzione che dev'essere 
richiamata alla fine del caricamento (onComplete: blabla()), ma non 
capisco perché, tale funzione sembra ignorare il documento *comprensivo* 
del risultato della richiesta.
Allora ho provato ad inserire nell'HTML ritornato tramite XHR la 
seguente linea di codice:
<script type="text/javascript" language="JavaScript" 
onLoad="blabla();">	window.onload = function() { alert('hello'); 
blabla(); }</script>
Ma mi sono accorto grazie all'alert, che non viene eseguita.
Come dovrei fare?
Grazie per le risposte!

 Come dovrei fare?
Inserire prima il contenuto della richiesta nel documento; e solo dopo
chiamare la funzione che ti serve. Ma se come penso, usi un oggetto di
prototype che non solo ti fa la richiesta ma, automaticamente, va pure
ad aggiornare uno specifico DIV; allora devi leggere la documentazione
di prototype e vedere se hanno definito un "evento" al termine di tale
operazione, un po' come il loro "oncomplete" per le richieste.
-- 
~ Se i sintomi persistono, insultare il medico.

 operazione, un po' come il loro "oncomplete" per le richieste.
Si uso un oggetto che fa tutto questo, e ti copio-incollo un passo della
documentazione:
****
Prototype's AJAX objects define a whole slew of callbacks, which are
triggered in the following order:
    1. onCreate (this is actually a callback reserved to AJAX global
Responders)
    2. onUninitialized (maps on Created)
    3. onLoading (maps on Initialized)
    4. onLoaded (maps on Request sent)
    5. onInteractive (maps on Response being received)
    6. onXYZ (numerical response status code), onSuccess or onFailure
(see below)
    7. onComplete
****
Quindi più tardi di onComplete, non c'è alcun "evento"!
ma la cosa che non mi spiego è che, utilizzando prototype, per fare una 
richiesta asincrona con XHR uso:
new Ajax.Updater('divDovePiazzareIlContenuto','urlRemota',{ 
asynchronous:true, evalScripts:true, ...[proprietàInGenere]..., 
onComplete: blabla()});
e come detto prima, quando richiama blabla(), non funziona come 
dovrebbe. Fin qui, ok, può essere.
Ma se dopo ";" metto blabla(), nemmeno funziona!?
Questo mi fa capire che ancora devo capire (scusatemi il gioco di 
parole) qual è l'esatta sequenza delle cose.
Chi mi aiuta?
Inoltre adesso l'unica soluzione che mi viene in mente, è mettere un 
onClick (ad esempio) su ogni elemento, che richiama una funzione di 
controllo che richiama blabla() se ancora non è stata chiamata.
Es:
function callBlaBla() {
   if (aggiornatoDiv) {
     blabla();
   }
}
<a class="xxx" onClick="callBlaBla();" ...>Link</a>
Può essere una soluzione valida secondo voi?
Grazie ancora!

 Grazie ancora!
De nada.


 De nada.
Ti devo un caffč! (almeno! (cerco di cavarmela con poco) ;) )