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

    errore getElementById perchè? aiuto...

    Salva a tutti non riesco proprio a capire cosa sto sbagliando.

    Ho degli array popolati "dinamicamente" in base alla scelta fatte dall'utente.
    Voglio stampare i valori di questi array in formato tabellare.

    Ho usato questo codice:

    function stampa_tabella() {
    var tab_ris = document.getElementById("tab_risultati");
    var table = document.createElement("table");
    var tbody = document.createElement("tbody");
    table.appendChild(tbody);
    var row = document.createElement("tr");
    var cell = document.createElement("th");
    cell.innerHTML = "tab_risultati";
    row.appendChild(cell);
    tbody.appendChild(row)


    }

    function costruisciTabella(a,b)
    {
    document.write(gamma_utente);

    var DATI_TAB = [
    5,
    "pippo"
    ];

    var tab_ris = window.document.getElementById("tab_risultati");
    alert("tab_ris: "+ tab_ris);
    var tabella = document.createElement("table");
    tabella.border="1";
    var tbody = document.createElement("tbody");
    tabella.appendChild(tbody);
    for (var r=0; r<DATI_TAB.length; r++)
    {
    var riga = tabella.insertRow(-1);
    for (var c=0; c<(DATI_TAB[r]).length; c++)
    {
    var cella = riga.insertCell(c);
    cella.style.padding = "4px";
    cella.appendChild(document.createTextNode(DATI_TAB[r][c]));
    }
    }
    tab_ris.appendChild(tabella);

    }

    Se chiamo la funzione direttamente dalla pagina "prova.html" in questo modo
    <script type="text/javascript">costruisciTabella();</script>
    tutto funziona a dovere MA se richiamo la funzione all'evento ONCLICK di un button ho il seguente errore "tab_ris is null"

    PErche? cosa sbaglio??

    Grazie a tutti in anticipo

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    come ripetuto tante tante tante volte
    document.write richiamato a documento completamente renderizzato lo sostituisce in toto con quanto fatto scrivere via write
    tutto quello che c'era prima non esiste piu'
    quindi questo
    var tab_ris = window.document.getElementById("tab_risultati");
    risulta gia' un errore

    sai gia' come creare e appendere una tabella, lo fai subito dopo, perche' mai dovresti usare document.write?

  3. #3
    Originariamente inviato da Xinod
    come ripetuto tante tante tante volte
    document.write richiamato a documento completamente renderizzato lo sostituisce in toto con quanto fatto scrivere via write
    tutto quello che c'era prima non esiste piu'
    quindi questo
    var tab_ris = window.document.getElementById("tab_risultati");
    risulta gia' un errore

    sai gia' come creare e appendere una tabella, lo fai subito dopo, perche' mai dovresti usare document.write?
    hai perfettamente ragione!
    dopo 2 giorni di sbattimento ho provato di tutto! Quello è un "tentativo" senza senso che è rimasto per sbaglio.

    Comunque ora sono riuscita a risolvere il problema grazie ad un'illuminazione notturna!

    Grazie mille per l'aiuto!

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.