Visualizzazione risultati 1 fino 18 di 18

Discussione: Aggiornare un div

  1. #1
    Guest

    Predefinito Aggiornare un div

    Salve, da vari forum ho scoperto che si può aggiornare un div solamente in lato client, ma non hanno specificato in quale linguaggio, quindi chiedo a voi.

    In quale linguaggio si può aggiornare? Ajax? Jquery? Jquery UI?

    Se avete una guida ve ne sarei molto grato

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Nessuno di quelli che hai citato è un linguaggio di programmazione.
    Per modificare dinamicamente un elemento del documento bisogna usare il DOM mediante Javascript.

  3. #3
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Puoi farlo tramite javascript:

    direttamente, usando la document.getElementById(), prelevi qualsiasi elemento con l'id specificato.

    ESEMPIO:

    Codice HTML:
    <script>
    function vai()
    {
        document.getElementById('id_di_esempio').innerHTML = 'Hai premuto il pulsante';
    }
    </script>
    <div id='id_di_esempio'></div>
    <button onclick='vai()'>scrivi</button>
    Oltre ad innerHTML, puoi usare ad esempio .style, che ti permette di accedere alle proprietà css (e quindi modificarle).

    Altrimenti, puoi usare jQuery; in particolare la .html()

    Ciao!

    EDIT: anticipato ...

  4. #4
    Guest

    Predefinito

    @alemoppo ma con innerhtml e ciò che hai citato modifico il contenuto del div, a me serve aggiornarlo come se aggiornassi un iframe..

    Comunque karl non riusciresti a fare uno script ad hoc?

    Al massimo come posso prendere tramite javascript ciò che viene generato in una pagina php per poi inserirlo nel div tramite innerHTML?
    Ultima modifica di mybeatnews : 27-07-2011 alle ore 23.19.39

  5. #5
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Non mi è chiaro il problema. Cosa ti serve esattamente? Cerca di essere il più specifico possibile e indica eventuali pagine di esempio.

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Citazione Originalmente inviato da mybeatnews Visualizza messaggio
    Al massimo come posso prendere tramite javascript ciò che viene generato in una pagina php per poi inserirlo nel div tramite innerHTML?
    Tramite ajax (che lo puoi usare semplicemente tramite jQuery)...

    Ciao!

  7. #7
    Guest

    Predefinito

    Sì ma non mastico molto bene javascript,ajax et similia.. Se mi puoi postare un esempio o una guida (magari non la guida completa, quella me la devo leggere con calma) te ne sarei grato

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Qui ci sono esempi molto intuitivi su come usare ajax tramite jQuery. Per usare jquery, ricordati di includere lo script jquery nelle pagine! (è come se fosse una libreria...).

    Cito uno degli esempi significativi che ci sono nella pagina:

    Codice:
    $.ajax({
       type: "POST",
       url: "some.php",
       data: "name=John&location=Boston",
       success: function(msg){
         alert( "Data Saved: " + msg );
       }
     });
    prova a fare qualche codice per prendere dimestichezza con queste cose: sono utilissime!

    Ciao!
    Ultima modifica di alemoppo : 27-07-2011 alle ore 23.37.47

  9. #9
    Guest

    Predefinito

    Quindi potrei fare che nella pagina in cui vengono mostrate le cose tramite get prendo le notifiche di quale utente.. Ad esempio le notifiche di XXX, quindi diventerebbe..

    Codice PHP:
    function insert(userid) {
    $.
    ajax({
    type: "GET",
    url: "notifiche.php",
    data: "user=" + userid,
    success: function(risultato){
    document.getElementById('miobox').innerHTML=risultato
    }
    });
    }

    setInterval("insert(userid)", 10000);
    Potrebbe funzionare?

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    ad occhio, a parte il mancato ; dopo la getElementById(), dovrebbe andar bene.

    provalo, no? Comunque sono molto utili strumenti tipo firebug: con quelli vedi le varie richieste con i dati sia inviati, che ricevuti...

    Ciao!

  11. #11
    Guest

    Predefinito

    Ora non posso provarlo, dovrei fare tutte le pagine, comunque grazie nel caso di problemi apro un altro topic, dato che il progetto lo sviluppo non in questi giorni

  12. #12
    Guest

    Predefinito Aggiornare un div

    Salve, ho questo codice che dovrebbe , ogni 5 millisecondi, aggiornare un div con i dati presi dall' output di una chiama ajax.

    Codice PHP:
    function stats(email) {
    $.
    ajax({
    type: "POST",
    url: "stats.php",
    data: "email="+email,
    success: function(risul){
    document.getElementById('list_stats').innerHTML=risul;
    }
    });
    }
    function
    stats_reload(email)
    {
    setInterval("stats(\""+email+"\")", 500);
    }
    Ora il problema è che però questo div non viene aggiornato.

    La funzione la richiamo nell' onLoad del body, l' elemento con id list_stats c' è e il codice in stats.php funziona correttamente. Dove potrebbe ssere l' errore?

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    stats() sembra corretta... Il problema, invece, sembra questo:

    Codice PHP:
    function stats_reload(email)
    {
    setInterval("stats(\""+email+"\")", 500);
    }
    Perché, quando richiami setInterval, passi il parametro (email) che poi non cambierà più.

    Quindi, dovresti usare una variabile globale, ad esempio:

    Codice PHP:
    var email = '';
    function
    stats() {
    $.
    ajax({
    type: "POST",
    url: "stats.php",
    data: "email="+email,
    success: function(risul){
    document.getElementById('list_stats').innerHTML=risul;
    }
    });
    }
    function
    stats_reload()
    {
    setInterval("stats()", 500);
    }
    Quindi, se modifichi "email", si modifica anche quella interna a stats().

    Ciao!

  14. #14
    Guest

    Predefinito

    Dato che email la passo da un file php, cioè la variabile può cambiare, mi conviene quindi scrivere tipo questa nella pagina php?

    Codice PHP:
    <?php

    echo <<<EOT
    <script type="text/javascript">
    var email = '
    {$email}';
    function stats() {
    $.ajax({
    type: "POST",
    url: "stats.php",
    data: "email="+email,
    success: function(risul){
    document.getElementById('list_stats').innerHTML=risul;
    }
    });
    }
    function stats_reload()
    {
    setInterval("stats()", 500);
    }
    EOT;
    ?>

  15. #15
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    Sì, va bene; però email può cambiare lato client, vero? cioè, javascript può modificare la variabile email, vero? Altrimenti non avrebbe senso richiedere via ajax il nuovo "risul" tramite l'email, perché se non cambia, "risul" presumo sia lo stesso :)

    Comunque prova lo script.. DOVREBBE andare...

    Ciao!

  16. #16
    Guest

    Predefinito

    In che senso può cambiare lato client?

    email è una variabile contenuta in una sessione php, quindi è diversa per ogni utente, se loggo con xxx la mia email (ad esempio) sarà xxx@domain.com, quindi la data inviata a stats.php sarà email=xxx@domain.com , se loggo invece con yyy, la mia email sarà yyy@domain.com e la data inviata sarà email=yyy@domain.com.

    Ovviamente poi l' output di stats.php cambia a seconda dell' email ricevuta in input
    Ultima modifica di mybeatnews : 04-08-2011 alle ore 13.12.05

  17. #17
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,148

    Predefinito

    ma "stats.php", se gli passi xxx come email, risponde sempre la stessa cosa?
    In caso affermativo, tutto quel sorgente non avrebbe senso... Cioè puoi richiedere il dato all'inizio (lo scrivi tramite php); non ha molto senso richiedere un valore conosciuto ogni 500ms...
    In caso negativo, puoi "semplificare" lo script sostituendo:
    Codice:
    data: "email="+email,
    Con:
    Codice:
    data: "email="+<?php {$email} ?>,
    eliminando la variabile email in javascript...

    Ciao!

  18. #18
    Guest

    Predefinito

    EDIT: Che cretino che sono! Le chiamate erano giuste, ma l' errore stava nel fatto che avevo dimenticato di includere un file importante in stats.php!
    Ultima modifica di mybeatnews : 04-08-2011 alle ore 17.22.49

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •