Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Refresh Div

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227

    Refresh Div

    codice:
    <script type="text/JavaScript">
    <!--
    function timedRefresh(timeoutPeriod) {
    	setTimeout("location.reload(true);",timeoutPeriod);
    }
    //   -->
    </script>
    
    <div onmouseover="JavaScript:timedRefresh(3000);">Al passaggio del mouse si aggiorna la pagina</div>
    Ciao a tutti!
    Non riesco, ho provato, ho cercato anche su internet ma non riesco! Vorrei che si aggiornasse SOLTANTO il div in questione, non tutta la pagina. Come potrei fare?

    Grazie a tutti in anticipo,
    Thinker

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    154
    Scusa, cosa intendi per "ricaricare solo il div"?
    Se intendi scaricarlo nuovamente dal server, non si può fare con i div, dovresti mettere un iframe al suo posto e all'interno mettere:
    codice:
    <script type="text/javascript">
    <!--
    function timedRefresh(timeoutPeriod) {
    	setTimeout("location.reload(true);",timeoutPeriod);
    }
    //   -->
    </script>
    
    <body onmouseover="timedRefresh(3000);">Al passaggio del mouse si aggiorna la pagina</body>
    PS:il type del tag script, in quanto è un tipo MIME va scritto minuscolo (alcuni browser non li accettano se contengono delle maiuscole) e il "javascript:" si usa solo con gli attributi href, con quelli che iniziano per "on[...]" non è necessario (inoltre è javascript: non java-script.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Sì, scusa ma non ho mai fatto nulla in Js ^^"
    Avevo pensato anche io ai frame ma.. non so, mi sembrano poco professionali.. Mi servirebbe per diverse cose tra cui un div contenente le notifiche dell'utente (nuovi messaggi etc) e vorrei che si aggiornasse da solo il div ogni tot tempo, senza dover fare il refresh della pagina
    Si può fare una cosa simile?


  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    154
    Potresti farlo con Ajax, però è una cosa che richiede una certa conoscenza di Javascript... Posso provare a mandarti un esempio comunque, domani.

    Scusa, non volevo criticarti... Era solo per correggere gli errori

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Beh se riesci a farmi un piccolo esempio di base te ne sarei grato^^

    Non preoccuparti, anzi grazie per avermelo detto

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    154
    Di base una richiesta in Ajax si fa così:
    codice:
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
    if (xhr.readyState == 4 && xhr.status == 200) {
    //Codice che vuoi eseguire alla conclusione del processo
    }
    };
    xhr.open([protocollo: "GET" o "POST"], [URL di destinazione]);
    xhr.send;
    In pratica tu fai questo: crei un nuovo oggetto XMLHttpRequest e definisci una funzione (onreadystatechange) che viene cambiata a ogni cambiamento di stato (lo stato può essere: 1 - hai chiamato new XMLHttpRequest(), 2 - hai chiamato xhr.open(), 3 - hai chiamato xhr.send() e 4 - la risposta del server è arrivata); dopodiché chiami xhr.open dove definisci il tipo di protocollo usare (cerca su Google "HTTP GET POST" se non sai cosa sono) e l'url da chiamare e xhr.send per inviare la richiesta al server.

    All'interno di onreadystatechange hai a disposizione principalmente 3 variabili: xhr.readyState che rappresenta lo stato che ti dicevo prima (deve essere 4 per avere a disposizione la risposta del server)
    xhr.status che è il codice di risposta HTTP del server (200 vuol dire tutto ok)
    xhr.responseText che è la risposta vera e propria sotto forma di stringa

    Una volta ottenuto il risultato che vuoi puoi usare le funzioni del DOM per inserire la risposta:
    codice:
    document.getElementById([l'id del div dove vuoi inserire i dati]).innerHTML =  xhr.responseText;
    Questo codice inserisce come HTML qualsiasi cosa il tuo server abbia restituito con la chiamata.

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.