Progettazione di siti web
a.a. 2021/22

HTML5: Web form, frame, media

Maria Simi
Maggio, 2022

[Manuale di riferimento del W3C, Learning web design]

Sommario

Form

Un esempio

Esempio: la risposta

Come funzionano?

Invio dati

Il tag form

Metodo GET

Esempio di GET

Comunicazione tra pagine

Metodo POST

GET vs POST

Elementi HTML base per l'interazione

input type="text"

<p>Nome:</p> <input type="text" name="nome" value="Inserisci il tuo nome" size="18" maxlength="50" />

input type="submit"

<input type="submit" value="Invia i dati"  /> 

Esempio

input: type="password"

Qual è la tua password?</p> <input type="password" name="password" size="8" maxlength="8" />

Esempio

input: type="hidden"

<input type="hidden" 	
       name="urlDiProvenienza" 	
       value="www.di.unipi.it">

Esempio

input type="checkbox"

<p>Quali sistema operativi conosci?</p> <input name="os" type="checkbox" value="Unix" /> Unix <br /> <input name="os" type="checkbox" value="Mac" checked="checked" /> Mac <br /> <input name="os" type="checkbox" value="Windows" disabled="disabled" /> Windows <br />

Esempio

input type="radio"

<p>Quale sistema operativo stai usando?</p> <input type="radio" name="os" value="Unix" checked="checked" /> Unix <br /> <input type="radio" name="os" value="Mac" /> Mac <br /> <input type="radio" name="os" value="Windows" /> Windows <br />

Esempio

input type="reset"

<input type="reset" value="cancella">  

Esempio

input type="button"

  <input type="button" value="Clicca!">

input type="image"

<input type="image" name="Invia" src="img/enter.jpg"
       width="88px" height="40px" 
       alt="invia il modulo" />

Esempio

input type="file"

Esempio

Textarea

<textarea name="testo" cols="40" rows="5">
  Racconta il tuo sogno in 100 parole o meno
</textarea>

Nota: ampiezza e altezza si possono inserire con i CSS

Esempio

Select

  1. Consente di inserire un menu a tendina (o a discesa), in inglese "drop-down"
  2. Consente di realizzare una lista "scrollabile"
    • size: numero di righe da visualizzare
    • multiple: permette di selezionare più opzioni

Sintassi select

1. Menù a tendina
<select name="colore">

<option>rosso</option>
<option>giallo</option>
<option selected="selected">
	verde
</option>
<option>blu</option>
<option>arancione</option>

</select>

Esempio

2. Lista "scrollabile"
<select name="colore" 
        size="3" 
        multiple="multiple">

  <option>rosso</option>
  <option>giallo</option>
  <option>verde</option>
  <option>blu</option>
  <option>arancione</option>

</select>

Esempio

Etichette - labels

Le novità nei web form HTML5

Placeholder

<form action="#">
  <input type="text" name="fname" placeholder="Nome"><br>
  <input type="text" name="lname" placeholder="Cognome"><br>
  <input type="submit" value="Submit">
</form>

Esempio da w3schools

Autofocus

<form action="demo_form.asp">
  Nome:<input type="text" name="fname" autofocus><br>
  Cognome: <input type="text" name="lname"><br>
  <input type="submit">
</form>

Esempio da w3schools

Required

<form action="demo_form.asp">
  Nome utente: <input type="text" name="usrname" required>
  <input type="submit">
</form>

Esempio da w3schools

Autocomplete

<form action="demo_form.asp" autocomplete="on">
  Nome:<input type="text" name="fname"><br>
  Cognome: <input type="text" name="lname"><br>
  E-mail: <input type="email" name="email" autocomplete="off"><br>
  <input type="submit">
</form>

Esempio da w3schools

Nuovi controlli: datalist

<input list="browsers" name="browser">
<datalist id="browsers">
  <option value="Internet Explorer">
  <option value="Firefox">
  <option value="Chrome">
  <option value="Opera">
  <option value="Safari">
</datalist>
<input type="submit">

Esempio da w3schools

Nuovi tipi di input

Importante: se non supportate diventano normali input box

Grazie w3schools!

Input relativi alle date e ai tempi

Uso delle informazioni semantiche

Fieldset e legend

<fieldset>
   <legend>Iscrizione mailing list</legend>
   <ul>
     <li>Aggiungimi alla tua mailing list</li>
     <li><label>Nome e cognome: <input type="text" name="name" /></label></li>
     <li><label>Email: <input type="text" name="email" /></label></li>
   </ul>
</fieldset>
Iscrizione mailing list
  • Aggiungimi alla tua mailing list

Form con stile

HTML

CSS

Frame

Problemi di usabilità dei frame

Frame inline (iframe)

Esempio 1    Esempio di inclusione di orario

Questioni legali e limitazioni

Alternative all'uso dei frame

Rich media: inclusione semplice di audio e video

Audio

<audio id="player" controls preload="none" >
  <source src="song.ogg" type="audio/ogg">
  <source src="song.mp3" type="audio/mpeg">
</audio>

Esempio

Video

<video id="player" width="320" height="240" controls preload="none" >
  <source src="movie.ogg" type="video/ogg">
  <source src="movie.mp4" type="audio/mp4">
</video>

Esempio

Conclusioni