Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    [ajax-prototype] aggiornare più div con una sola chiamata

    Ma per testarlo, come scrivo il link per essere splittato con | ? Oltre ad aver incluso il file prototype.js, io per questo esempio posiziono il mio div e la textarea? Ma per avere due div?
    Sono rimasto bloccato in questa situazione e non so più che esempi trovare....

    Grazie anticipatamente
    ... questo è un messaggio privato ricevuto per una vecchia discussione dall'utente semolino. Dato che preferisco la discussione aperta a tutti, rispondo in pubblico e non in privato.

    Questa è la pagina html in discussione. Fa uso di prototype.js. Ricevo una stringa con più campi delimitati dal carattere |. Alla ricezione separo i vari campi e li metto dove voglio, per esempio in div o in textarea. L'esempio è semplice ma serve a far vedere come si fanno cose semplicissime con una funzione seria.
    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>
        <title>Pagina senza titolo</title>
    		<link href="../../../stili/Styles.css" type="text/css" rel="stylesheet"/>
    		<script type="text/javascript" src="../../../js/prototype.js"></script>
    		<script type="text/javascript">
    <!--
    function getAjax1()
    {
        var url_action = "../goAJAX/prototipo.aspx?ajax_comando=1";
        /*
        var j = new Ajax.Updater(
                    'div1',
                    url_action);
        */
        new Ajax.Request(url_action, {onComplete:showResponse} );
        function showResponse(originalRequest)
        {
            var t = originalRequest.responseText;
    	    var v = t.split("|");
    	    $("textarea1").value = t;
    	    
    	    if(v.length != undefined && v.length == 2)
    	    {
    		    $("div1").innerHTML = v[0];
    		    $("text1").value = v[1];
    	    }
            
        }
    }
    
    //-->
    </script>
    
    
    
    </head>
    <body>
    		http://www.fabryprog.it/from_sergiop...totype.js.html
    		
    
    
    		[img]indicator.white.gif[/img]
    		<form  method="post" action="" id="Form1">
    			<table cellpadding="3" id="Table1">
    				<tr>
    					<td>Div</td>
    					<td><div id="div1" style="BORDER:red 1px solid; width:600px;"></div></td>
    				</tr>
    				<tr>
    					<td>TextBox</td>
    					<td><input type="text" id="text1" style="width:600px; border:1px blue solid;" name="text1"/></td>
    				</tr>
    				<tr>
    					<td>
    					    TextArea
    					</td>
    					<td >
    						<textarea rows='10' cols='100' id="textarea1" name="text2"></textarea>
    					</td>
    				</tr>
    			</table>
    			
    			
    			<hr />
    			Richiama AJAX passando un tag che supporta innerHTML
    		</form>
    
    </body>
    </html>

    ps. dato che forse non so spiegarmi bene come vorrei, prego gli amici del forum di dare una mano all'utente semolino.
    Pietro

  2. #2
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Ti ringrazio e qualcosa inizia a muoversi:
    Ora per le mie esigeze ho modificato il codice cosi:
    Codice PHP:
    function getAjax1()
    {
        var 
    url_action "boxes/project.php";
        
    /*
        var j = new Ajax.Updater(
                    'div1',
                    url_action);
        */
        
    new Ajax.Request(url_action, {onComplete:showResponse} );
        function 
    showResponse(originalRequest)
        {
            var 
    originalRequest.responseText;
            var 
    t.split("|");
                    
            if(
    v.length != undefined && v.length == 2)
            {
            $(
    "div1").innerHTML v[0];
            $(
    "div2").innerHTML v[1];
            }
            
        }

    Ma mi chiedo:
    Io devo richiamare un file che contiene solo i due link splittati? cosi poi mi vengono caricate le pagine nei due div?

    Grazie a tutti gli "aiutanti"

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    quello che hai scritto mi pare corretto.
    La pagina server deve restituire i due "pezzi" di codice html separati da |. Ed è tutto.
    Pietro

  4. #4
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    dunque, allora ajax va a leggere il contenuto della pagina... (che per me è scritta in PHP).
    Quindi vado a scrivere quella pagina, come se fossero due divise da un semplice|?
    Mi sembra di aver capito che quando si incontra | tutta la parte restante viene passata all'altro div.

    Un'altra cosa: l'url può essere passato dal link, dato che si tratta di un menu, dovrei avere sempre url diversi.

    Grazie ancora

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.