Visualizzazione dei risultati da 1 a 6 su 6

Discussione: AJAX e attesa

  1. #1

    AJAX e attesa

    Ciao a tutti, stò litigando con AJAX per far visualizzare una gif di attesa durante l'esecuzione di uno script che mi controlla dei codici inseriti in una text area.

    la pagina è la seguente:

    codice:
    <html>
    <head>
    <script type="text/javascript">
    
    function CheckCod(){
    	sCod = document.getElementById('sCod').value;
    	sCod = sCod.replace(/\r\n|\n|\r/g, ";");
    	sTempCod = sCod.split(";");
    	doWork();
    }
    
    function getHTTPObject(){
    	if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
    	else if (window.XMLHttpRequest) return new XMLHttpRequest();
    	else {
    		alert("Your browser does not support AJAX.");
    		return null;
    	}
    }
    
    function setOutput(){
    	if(httpObject.readyState == 4 && httpObject.status == 200){
    		ReturnCodice = httpObject.responseText;
    		if (ReturnCodice){
    			document.getElementById('Attendi').innerHTML=ReturnCodice;
    			return false;
    		}else{
    			document.add_cod.submit();
    		}
    	}else{
    		document.getElementById('Attendi').innerHTML='BBBB';
    	}
    }
    
    function doWork(){
    	httpObject = getHTTPObject();
    	if (httpObject != null) {
    		httpObject.open("GET", "check_cod.php?find_cod="+sTempCod, true);
    		httpObject.send(null);
    		httpObject.onreadystatechange = setOutput;
    	}
    }
    var httpObject = null;
    //-->
    </script>
    </head>
    <body>
    <form action="show_test.php" name="add_cod" method="post" onsubmit="return false">
    <table align="center" border="0" cellspacing="10">
    <input type="hidden" name="sCodici">
    <tr>
    <td align="left" class="www">Codici:
    
    Inserire un Codice per riga.
    </td>
    <td>
    
    <td align="left" ><textarea rows="10" cols="15" id=sCod name=sCod></textarea></td>
    </tr>
    <tr>
    <td align="center" class="www"><input type="hidden" name="sValid"><input type=button value="INVIA" onClick="CheckCod()"></td>
    <td></td>
    <td align="center" class="www"><input type=button value="INDIETRO" onClick="javascript:history.go(-1)"></td>
    </tr>
    </table>
    <div id="Attendi"></div>
    </form>
    </body>
    </html>
    Ma non mi funziona, cioè non mi fà visualizzare la scritta BBB (che dovrebbe essere di attesa).

    Se
    codice:
    document.getElementById('Attendi').innerHTML=ReturnCodice;
    lo sostituisco con
    codice:
    alert("Ritorno = "+ReturnCodice);
    allora nel DIV viene visualizzato il BBB di attesa.

    Dovè che sbaglio?
    Linux User #332385

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non sono sicuro che sia la soluzione, ma certamente questo if è sbagliato:
    if (ReturnCodice) dato che ReturnCodice è una stringa non un valore boleano (true/false) pertanto dovrà essere o di verifica valore: if (ReturnCodice=='BBB') oppure pieno/vuoto if (ReturnCodice!='')/if (ReturnCodice=='')
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Originariamente inviato da cavicchiandrea
    Non sono sicuro che sia la soluzione, ma certamente questo if è sbagliato:
    if (ReturnCodice) dato che ReturnCodice è una stringa non un valore boleano (true/false) pertanto dovrà essere o di verifica valore: if (ReturnCodice=='BBB') oppure pieno/vuoto if (ReturnCodice!='')/if (ReturnCodice=='')
    Il problema non è quello, ho corretto l'if ma il problema rimane.....
    Linux User #332385

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se vuoi mostre una gif d'attesa leggi qui ricordandoti che readyState 4 e lo stadio finale della chiamata ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Originariamente inviato da cavicchiandrea
    Se vuoi mostre una gif d'attesa leggi qui ricordandoti che readyState 4 e lo stadio finale della chiamata ajax
    Ho provato anche a inserire un gif, ma con lo stesso risultato, nun và.

    Il link che mi hai dato spiega come creare un loader testuale, e non mi serve quello....
    Linux User #332385

  6. #6
    Ho risolto, anche se non sono sicuro che sia la soluzione corretta.

    Praticamente all'inizio della funzione CheckCod() ho settato il valore del div con il testo di attesa:

    codice:
    document.getElementById('Attendi').innerHTML='BBBB';
    Ciao.
    Linux User #332385

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.