Advertisement
NelloRizzo

HTML Management

Apr 16th, 2020
534
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.24 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8" />
  5.     <title></title>
  6. </head>
  7. <body>
  8.     <div>
  9.         <span>Inserisci utente: </span>
  10.         <input type="text" placeholder="Nome" id="nome_utente" /> <input type="text" placeholder="Cognome" id="cognome_utente" />
  11.         <button onclick="aggiungi_utente()">Aggiungi ad Elenco</button>
  12.     </div>
  13.     <div>
  14.         <button onclick="presenta_utenti(true)">Nome + Cognome</button><button onclick="presenta_utenti(false)">Cognome + Nome</button>
  15.     </div>
  16.     <ul id="listautenti">
  17.         <!-- qui saranno aggiunti gli utenti man mano che premerò sul pulsante -->
  18.     </ul>
  19.     <hr />
  20.  
  21.     <script src="base.js"></script>
  22.     <script>
  23.         // un array che manterrà in memoria TUTTI gli utenti
  24.         var utenti = [];
  25.  
  26.         // aggiunge un utente all'array che mantiene in memoria TUTTI gli utenti
  27.         function aggiungi_ad_array(nomeUtente, cognomeUtente) {
  28.             // un utente è un'informazione complessa che ha DUE caratteristiche
  29.             // UN NOME PIU' UN COGNOME
  30.             // poiché queste caratteristiche devono essere gestite separatamente,
  31.             // le devo mantenere DA UN LATO SEPARATE per ordinare sull'una o sull'altra,
  32.             // DALL'ALTRO UNITE perché ogni COPPIA RAPPRESENTA UNO ED UN SOLO UTENTE
  33.             var nuovo_utente =
  34.             { // struttura di OGGETTO JAVASCRIPT, costituita da DUE CAMPI: nome e cognome
  35.                 nome: nomeUtente, // valorizzo il CAMPO nome
  36.                 cognome: cognomeUtente // valorizzo il CAMPO cognome
  37.             };
  38.             // INSERISCO nell'array IL NUOVO elemento che AL SUO INTERNO conterrà DUE informazioni diverse
  39.             utenti.push(nuovo_utente);
  40.         }
  41.  
  42.         // ricostruisce la vista degli utenti
  43.         // se prima_nome == true presenta prima il nome, altrimenti prima il cognome
  44.         function presenta_utenti(prima_nome) {
  45.             g("#listautenti").innerText = ""; // pulisce la lista
  46.             for (var i = 0; i < utenti.length; ++i)
  47.                if (prima_nome) // se metto prima il nome
  48.                    crea_list_item(utenti[i].nome + " " + utenti[i].cognome); // utenti[i].nome -> leggo il nome dell'utente i-esimo
  49.                 else // altrimenti prima il cognome
  50.                     crea_list_item(utenti[i].cognome + " " + utenti[i].nome);
  51.         }
  52.  
  53.         function crea_list_item(testo) {
  54.             // creo una voce della lista
  55.             var li = document.createElement("li");
  56.             // aggiungo il nome al suo interno
  57.             li.append(testo);
  58.             // aggiungo la voce all'elenco
  59.             g("#listautenti").append(li);
  60.         }
  61.  
  62.         function aggiungi_utente() {
  63.             // recupero il nome dell'utente da aggiungere
  64.             var nome = g("#nome_utente").value;
  65.             var cognome = g("#cognome_utente").value;
  66.             // lo aggiungo all'elenco
  67.             aggiungi_ad_array(nome, cognome);
  68.             presenta_utenti(true);
  69.             // pulisco la casella di testo
  70.             g("#nome_utente").value = "";
  71.             g("#cognome_utente").value = "";
  72.             // riporto il cursore sulla casella di testo
  73.             g("#nome_utente").focus();
  74.         }
  75.     </script>
  76. </body>
  77. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement