Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957

    Ritorno variabile da funzione

    Ciao a tutti,
    ho questa funzione che uso per cambiare l'HTML interno di un elemento DOM via ajax.
    codice:
    function caricaPag(url,dest) {
      var ajax = assegnaXMLHttpRequest();
      var resp=null;
      if(ajax) {
        usaLink = false;
        ajax.open("get", url, true);
        ajax.setRequestHeader("connection", "close");
        ajax.onreadystatechange = function() {
          if(ajax.readyState === readyState.COMPLETATO) {
            if(statusText[ajax.status] === "OK"){
    				dest.innerHTML=ajax.responseText; 
    			return;
    		} else {
              alert("Errore riscontrato: " + statusText[ajax.status]);
            }
          }  
        }
        ajax.send(null);
      }
    }
    Come vedete l'assegnazione del testo ottenuto avviene nella riga in rosso.
    Io vorrei però che alla fine di tutto la funzione caricaPag() ritornasse un boolean indicando se effettivamente tutto è andato bene.... come faccio, visto che tutto avviene dentro un'ulteriore funzione interna (in verde)?
    Sottolineo, come si capisce, che la funzione non è mia!

    Grazie

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    codice:
    function caricaPag(url,dest) {
      var ajax = assegnaXMLHttpRequest();
      var resp=null;
      if(ajax) {
        usaLink = false;
        ajax.open("get", url, true);
        ajax.setRequestHeader("connection", "close");
        ajax.onreadystatechange = function() {
          if(ajax.readyState === readyState.COMPLETATO) {
            var boleana=new Boolean();
            if(statusText[ajax.status] === "OK"){
    				dest.innerHTML=ajax.responseText; 
                                    boleana=true;
    			return;
    		} else {
              boleana=false;
              alert("Errore riscontrato: " + statusText[ajax.status]);
            }
          }  
        }
        ajax.send(null);
      }
    }
    così intendevi?

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    si ma da qualche parte mi deve tornar fuori questa "boleana" con un "return boleana" in modo che si possa fare:

    if(caricaPag(...)){ ... }

    il mio problema era il fatto che all'interno della funzione c'era

    ajax.onreadystatechange = function() {...}

    e questo non mi dava la possibità di fare un return della funzione caricaPag.
    Capito?


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.