Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    div che ricarica se stesso

    mi chiedo se si possa fare.
    1 ho una pagina con due div, nel div 1 ci sono dei menù a tendina che caricano via htmlrequest una pagina php nel div 2;
    2 la pagina php caricata nel div 2 contiene un form che spedisce delle informazioni a se stessa e le visualizza sempre all'interno del div 2.
    quello che mi chiedo è: nel myRequest.open("POST",nomefile,true); il nomefile deve essere quello della pagina php che riceverà i dati oppure quello della pagina che contiene il div 2? in altre patole: l'unico modo per fare questa roba è mettere nella pagina con i due div un javascript attivato al caricamento della pagina che prenda i valori e carichi la pagina php nel div 2 passandoglieli?
    occhei, sono un po' fuso e ho verbalizzato male, ma mi pare che si possa capire...

  2. #2
    ba, credo proprio che quella sia l'unica strada percorribile. ho provato a trattare separatamente le due pagine, mettendo un div che occupasse tutta la pagina anche nella seconda, ma senza successo.
    grazie lo stesso

  3. #3

    innerHTML che sparisce

    nonostante tutto sto continuando a ritentare la strada del trattare separatamente le due pagine.
    provo ancora una volta a porre il problema, chissà che non venga in mente qualcosa a qualcuno.
    io ho questa banale pagina:
    Codice PHP:
    <html>
    <head><title>nessuno</title></head>
    <body>
    <div id="divneldiv" style="position: relative; float: left; width: 100%; background-color: #ffffff; border-style: none; padding: 1px; z-index:2;">
    <script language="javaScript">

    var myReq = null;

    function CreaHttpReq(handler) {
      var xmlhttp = null;
      try {
        xmlhttp = new XMLHttpRequest();
      } catch(e) {
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
      xmlhttp.onreadystatechange = handler;
      return xmlhttp;
    }

    function myHandling(){
    if(myReq.readyState == 4 && myReq.status == 200)
        {
        var txt = document.getElementById('divneldiv');
        txt.innerHTML = myReq.responseText;}
    else
        {txt.innerHTML = myReq.status, " ", myReq.readyState;}
    }

    function addsequ() {
    myReq = CreaHttpReq(myHandling);
    myReq.open("POST","gare_add_sequenze.php",true);
    myReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded ISO-8859-1");
    myReq.send('funzione=caricato');
    }

    //-->
    </script>
    <?php
    #$lingua = $_GET[lingua];
    #if(!$lingua){$lingua = 'italiano';}
    #include("../testi_$lingua.php");

    $test rand();
    $test2 $_POST['funzione'];
    echo 
    "$test
    $test2
    <form><input type=\"button\" onclick=\"addsequ();\" value=\"prova\"></form>
    \n"
    ;

    echo 
    "eccho tutto
    \n"
    ;

    ?> 
     ecco tutto.
    </div>
    </body>
    </html>
    che funziona perfettamente eccetto che nel caso, che mi interessa, sia stata caricata in un div.
    ovvero: io carico la pagina che ho incluso in un div, poi vorrei continuare a fare operazioni in questa pagina all'interno di questo div, ma non ci riesco.
    considerando il fatto che tutte le funzioni di questa pagina e tutte quelle della pagina "principale" hanno nomi diversi (ho anche avuto il sospetto che potessero esserci problemi di "sovrapposizione"), qualcuno ha idea del perché io clicco sul bottone e non succede nulla?

    grazie mille!

  4. #4
    procedo con gli esperimenti.
    seguendo questa discussione sull'interpretazione di js ho scoperto che il javascript, quando passa attraverso ajax, perde qualcosa e non funziona più. ho impiegato un po' a capire come funzionava il tutto, ma alla fine ho inserito nella pagina principale questa funzione:

    codice:
    function execJS(t) {
    var p1 = 0, p2 = 0, p3 = 0, p4 = 0;
    p1 = t.indexOf("<" + "script", 0);
    if (p1 == -1) return t;
    
    p2 = t.indexOf(">", p1 + 6) + 1;
    p3 = t.indexOf("<" + "/script>", p2);
    p4 = p3 + 9;
    
    var c = t.substring(p2, p3);
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.text = c;
    document.getElementsByTagName("head")[0].appendChild(s);
    
    t = t.substring(0, p1) + t.substr(p4);
    return t;
        }
    e ho associato al tasto della pagina inclusa un alarm, per verificare che del javascript funzionasse. funziona (avevo fatto il test anche prima ma non funzionava).
    bene.
    ho solo un problema: per capire dove sta l'errore, potrebbe essermi utile leggere l'html generato nel div della pagina inclusa (attraverso ajax: non posso semplicemente far girare la pagina in un altro tab).
    qualcuno sa dirmi come si fa?

    grazie mille!

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.