Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    72

    Aggiornare una pagina senza ricaricarla

    buongiorno, (premetto che sono un po' agli inizi..)
    devo scrivere una pagina html con una tabella, ma il contenuto delle celle deve variare con delle funzioni. Quindi faccio:
    1)uno script nell'head mi definisce le variabili iniziali
    2)nel body ho uno script che mi crea la tabella andando a prendere le variabili definite prima
    3)ad un pulsante collego una funzione che aggiorna le variabili

    ma poi? come faccio a far apparire la nuova tabella? se ricarico tutta la pagina mi vengono rilette le variabili iniziali e si ricrea la tabella iniziale.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Se le variabili le rendi globali quando andrai ad aggiornare le stesse variabili col pulsante automaticamente si aggiornerà anche la tabella
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    72
    ...non funziona.. provo a spiegarmi meglio:
    io ho definito questo array
    xyz = new Array (0, 2, 4, 6, 8);
    fuori da ogni funzione, quindi dovrebbe essere una variabile globale, giusto?
    poi disegno la tabella scrivendo in ogni cella un numero che viene fuori dai valori di quell'array con
    document.write('<td>'+xyz[calcolato]+'</td>');

    ora, se provo ad aumentare di 1 quei valori
    for(i=0; i<=4; i++){
    xyz[i]++;
    }

    la variabile è cambiata davvero (l'ho mostrata su un alert ed è cambiata), ma la tabella rimane la stessa di prima

  4. #4
    La funzione che aggiorna le variabili dovrebbe aggiornare anche la tabella, o rimuovendola del tutto e riscrivendola con le nuove variabili oppure andando a scrivere nelle celle i nuovi valori.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    72
    ..sì, ma come si fa con una funzione a cancellare un pezzo della pagina html e a riscriverlo? puoi farmi un esempio?

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Come l'ha scritto lucavizzi devi anche aggiornare la tabella. Purtroppo l'approccio con document.write è sbagliato in quanto non ti consente di rimpiazzare del codice HTML. Ed è proprio di questo di cui hai bisogno.

    Prova questo.

    codice HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    var xyz = new Array (0, 2, 4, 6, 8);
    function disegna() {
     codiceHTML = '<table>';
     for (i=0;i<xyz.length;i++) {
       temp = "<tr><td>"+xyz[i]+"</td></tr>";
      codiceHTML = codiceHTML + temp;
     }
     codiceHTML = codiceHTML + '</table>';
     document.getElementById('mio_div').innerHTML = codiceHTML;
    } // function disegna()
    function incrementa() {
     for (i=0;i<xyz.length;i++) {
       xyz[i]++;
     }
     // Ridisegno la tabella
     disegna();
    } // function incrementa()
    //-->
    </script>
    </head>
    <body>
    <div id="mio_div">
    <!-- lo JS andrà a scrivere il codice HTML qui -->
    </div>
    <input type="button" value="Incrementa" onclick="incrementa()" />
    <script language="JavaScript" type="text/javascript">
    <!--
    disegna();
    //-->
    </script>
    
    </body>
    </html>
    
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    72
    per una tabella le cose sono un po' complicate.. ma ho provato intanto questo inner.HTML su un paragafo e in effetti funziona alla grande..è esattamente quello che volevo, 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 © 2024 vBulletin Solutions, Inc. All rights reserved.