Visualizzazione dei risultati da 1 a 5 su 5

Discussione: ajax dentro ajax

  1. #1

    ajax dentro ajax

    Ho questa pagina che viene aperta tramite ajax con MooDalBox:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <script type="text/javascript" src="../_Include/javascript/function.js"></script>
    <script type="text/javascript" src="../_Include/javascript/admin.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    
    <body onload="creaSelect('sez_id',0,'AHAHSEZ');">
            <table width="100%" border="0">
                 <tr>
                  <td colspan="6">
                   <form name="search" method="post" action="">
    			    <input type="text" name="keys">
    				<input name="tipo" type="radio" value="tit" checked>titolo
                    <input name="tipo" type="radio" value="tes">testo
    			   
                   Cerca in una sezione specifica:
    
    <div id="AHAHSEZ">
    <select style="width:100%;" name="SEZ_ID">
    <option>------------</option>
    </select>
    </div>
    
    
    <div id="AHAHSSEZ">
    <select style="width:100%" name="SSEZ_ID" disabled="disable">
    </select>
    </div>
    </form>
    </td>
    </tr>			  
    </table>
    </body>
    </html>
    La funzione contenuta all'interno del file admin.js:
    codice:
    function creaSelect(type,value,div){
    	var xml = getXMLHttpRequestInstance();
    	if (xml){
    		document.getElementById(div).innerHTML = "Generazione lista...";
        	xml.onreadystatechange = function(){
    							   	    if (xml.readyState == 4 && xml.status == 200){
    									   elemDiv = document.getElementById(div);
    									   elemDiv.innerHTML = xml.responseText;
    								    }
    							     }
     		xml.open("GET", "http://localhost/_Admin/_select.asp?type="+type+"&value="+value, true);
        	xml.send(null);
      	}
    }
    La funziona "creaSelect" sull'onload della pagina crea una select al posto del div specificato, sempre tramite ajax naturalmente.
    Solo che quando provo ad aprire la pagina con il MooDalBox la funzione "creaSelect" non parte, mentre provo la pagina da solo, funziona tutto perfettamente...non è possibile usare ajax dentro ajax?

  2. #2
    ma MooDalBox utilizza i frame? mi sembra di no ... e se non lo fa è errato caricarci dentro un documento, inteso come una pagina completa html.

    Se invece lo fa è stranissimo ti dia questo problema (per questo dubito non lo faccia), piuttosto verificherei se c'è una callback da richiamare a MooDal visualizzata
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    No infatti non usa un iframe, ma non pensavo che non potesse funzionare.
    Cmq cosa intendi per "callback"?

  4. #4
    Originariamente inviato da yoyo87
    No infatti non usa un iframe, ma non pensavo che non potesse funzionare.
    è logico che non funziona, un documento HTML può contenere un solo <HTML> ed un solo <BODY> , è un errore (c'è un mio articolo apposito sugli errori comuni in Ajax) caricare interi documenti dentro un div o un elemento qualunque di una pagina ed è per questo che non parte l'onload del body ... c'è già un body e c'è già stato un evento onload ... li non "onloadi" niente



    Originariamente inviato da yoyo87
    Cmq cosa intendi per "callback"?
    intendo una funzione da richiamare a MooDal visualizzata, di solito MooTutto ha callback da richiamare a "fine eventi", prova a controllare i parametri, magari ce n'è uno (o un metodo di oggetto) per fare quello che fai all'onload del body ... e magari togli tutto da quella pagina richiamata ed usa solo il contenuto, non l'intero documento
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Ti ringrazio tantissimo della disponibilità

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.