Fabio Donatantonio

Resta connesso

Software Developer / Adjunct Professor

Aggiungere righe a tabella in maniera dinamica

In questo articolo vedremo un esempio di applicazione DHTML(Dynamic HTML). Utilizzando Javascript per accedere al DOM, realizzeremo una tabella inizialmente vuota che, tramite un’apposita funzione richiamata da un bottone, verrà riempita riga per riga dall’utente.
L’applicazione si compone essenzialmente di una sola funzione; la quale genererà una nuova riga con un numero di celle pari al numero di colonne presenti nella tabella. Per ogni cella chiederà all’utente, tramite prompt, il testo da inserire.
In fondo all’articolo è possibile provare o scaricare il codice completo.

La funzione Javascript si chiamerà aggiungiRiga():

<script type='text/javascript'>
function aggiungiRiga(id_table){
     var table = document.getElementById(id_table);
     var tbody = table.getElementsByTagName('tbody')[0];
     var colonne = table.getElementsByTagName('th').length;	
     var tr = document.createElement('tr');
     for(var i=0; i<colonne; i++){
          var td = document.createElement('td');
          var tx = document.createTextNode(prompt("Inserisci testo per cella "+(i+1),""));
          td.appendChild(tx);
          tr.appendChild(td);
     }
     tbody.appendChild(tr);
}
</script>

Analizziamo brevemente la funzione che acquisice come parametro d’ingresso l’id della tabella:
– Preleviamo il riferimento alla tabella e al tbody
– Calcoliamo il numero di colonne presenti
– Cicliamo e per ogni cella nuova chiediamo da prompt il testo
– Nidifichiamo il testo nel td e il td nel tr
– Aggiungiamo la nuova riga tr nel tbody

Anche per chi è all’asciutto di DOM (elementi, nodi e child) non risulterà difficile comprendere il codice della funzione aggiungiRiga().
Infine vediamo il codice HTML che inizializza la tabella e fornisce il richiamo alla funzione:

<table border='2' id='my_table' class='tabella' cellspacing='0' cellpadding='0'>
	<thead><tr><th>INTESTAZIONE COLONNA 1</th><th>INTESTAZIONE COLONNA 2</th><th>INTESTAZIONE COLONNA 3</th></tr></thead>
	<tbody>
	<!-- IL BODY E' INIZIALMENTE VUOTO -->
	</tbody>
</table><br/>
<input type='button' value='Aggiungi riga' onClick="aggiungiRiga('my_table')" />

La tabella è molto semplice. Richiede essenzialmente un ID e la suddivisione in head e body (essenziale per il corretto funzionamento su Explorer). Possiamo aumentare il numero di colonne liberamente, sarà la funzione ad adattarsi ad essa.

Cliccando qui è possibile vedere in azione il codice. (abilitare l’apertura dei prompt)
Cliccando qui è possibile scaricare il codice.

Fabio Donatantonio

Fabio Donatantonio. Analista e sviluppatore full-stack di applicazioni web in linguaggio PHP. Professore a Contratto per le cattedre di Fondamenti di Informatica e Archivistica Digitale presso Università degli Studi eCampus. Dal 2008 curatore del sito www.donatantonio.net, da sempre appassionato di programmazione, mare, sigari e... musica.

2 Comments

  1. Ricerca in tabella html | Fabio Donatantonio

    18th Lug 2011 - 23:42

    […] un articolo precedente abbiamo analizzato uno script Javascript che ci permetteva di inserire righe in maniera dinamica in […]

  2. inserimento codice html on click - AlterVista | Spazio web gratis, hosting free php mysql

    18th Feb 2012 - 19:20

    […] Ho seguito questa guida qui: http://www.donatantonio.net/blog/gui…iera-dinamica/ […]

Leave a reply

Your email address will not be published. Required fields are marked *

 

Didattica

Università degli Studi eCampus
Data Evento
09/02/2021
14:30
Esame Archivistica Digitale e Informatica per le Scienze Umane - Cds Letteratura, Lingua e Cultura Italiana - Lettere
09/02/2021
14:30
Esame Introduzione all'Archivistica Digitale e all'Informatica per le Scienze Umane - Cds Letteratura, Arte, Musica e Spettacolo - Lettere
09/02/2021
17:30
Esame Abilità Informatiche e Telematiche - Cds Design e Discipline della Moda - Lettere
09/02/2021
17:30
Esame Abilità Informatiche e Telematiche - Cds Letteratura, Arte, Musica e Spettacolo - Lettere
Risorse
Guida HTML/CSS per principianti (link)
Introduzione agli ipertesti (link)
Esercizi guidati in Java (link)
Intelligenza artificiale (link)
Libri
Fondamenti di Informatica (2011) (link)
Informatica per le Scienze Umane (2011) (link)
Fondamenti di Informatica (2014) (link)
Pagina Docente
uniecampus.it - Scheda Docente (link)
Contatti
fabio.donatantonio[at]uniecampus.it

JWhisper, sviluppato presso il Dipartimento di Informatica Applicata dell'Università degli Studi di Salerno:

Stay Connected

Twitter

Le mie foto

Foto di Fabio Donatantonio
×