Page 122 - Guida tascabile HTML5
P. 122

<output name="somma" for="a b">-</output>
           </form>
              In questo semplice listato di esempio, per concentrarci sul markup del tag

           output, è stato volutamente omesso il codice JavaScript legato al funzionamento del
           controllo.

              L’attributo name è fondamentale per fare riferimento all’elemento con gli script,

           mentre l’attributo for raccoglie i riferimenti ai campi coinvolti nel calcolo
           dell’output. Il contenuto del tag rappresenta il valore di default visualizzato al

           caricamento della pagina.

              NOTA L’istruzione associata a un eventuale tag  <button> per restituire la somma dei

              due valori potrebbe essere la seguente:

           onclick="somma.value=parseInt(a.value)+parseInt(b.value)"
              Altri due controlli, affini tra loro ma con valore semantico differente, sono

           <progress> e <meter>, utili per fornire all’utente un feedback visivo rispettivamente

           sull’avanzamento di un task e su una misura: questi tag, abbinati a script JavaScript

           dedicati, permettono di aggiornare l’utente in tempo reale.
              Iniziamo ad analizzare la sintassi di <progress>:


           Compilazione:<br>
           <progress value="8" max="12">8 su 12</progress>















           Figura 6.28 Safari su OS X esegue il rendering del tag <progress>.


              L’esempio mostra lo stato di avanzamento nell’ipotetica compilazione di un

           form: viene mostrato graficamente all’utente che ha compilato otto sezioni (valore
           dell’attributo value) su dodici totali (valore dell’attributo max).

              Il browser si occuperà di effettuare la proporzione e colorare la giusta porzione

           di barra. Il testo contenuto nel tag invece può essere utile per fornire una soluzione
           di fallback qualora il browser in uso non supportasse questo tag.


              NOTA  Con  adeguate  regole  CSS,  è  possibile  intervenire  sull’aspetto  della  barra  di
              avanzamento  in  maniera  anche  piuttosto  complessa,  definendo  dimensioni,  colori,
              gradienti e persino animazioni.
   117   118   119   120   121   122   123   124   125   126   127