Progettazione di siti web a.a. 2015/16

Documenti analoghi
Il tag form indica l'inizio della costruzione di un modulo. Necessita del tag di chiusura

Programmazione Web D B M G. Il linguaggio HTML

D B M G Il linguaggio HTML

Modulo o Form in Html

@2011 Politecnico di Torino 1

04/05/2011. Lezione 6: Form

HTML: FORM. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

DURANTE LA NAVIGAZIONE NEI SITI WEB I VISITATORI NON SOLO POSSONO CONSULTARE INFORMAZIONI STATICHE

HTML e interattività FORM

Form HTML. <form> campi del modulo </form>

Dott.ssa Adriana Pietramala

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Lezione 6: Form 27/04/2012

Il linguaggio HTML - Parte 3

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

"-//W3C//DTD XHTML 1.1//EN

I TAG - Form (moduli) (1/21)

Strumenti a disposizione

Esercizi su HTML5 e form

HTML FORM E PHP. Programmazione Web 1

ESEMPI DI FORM (da

Metodologie Informatiche Applicate al Turismo

Tecnologie di Sviluppo per il Web

HTML il linguaggio per creare le pagine per il web

Metodologie Informatiche Applicate al Turismo

ELEMENTI INTERATTIVI

Interazione con l utente : i moduli.

Applicazioni Web: meccanismi per il passaggio di informazioni tramite HTTP Corso di Applicazioni Telematiche

Laboratorio di Basi di Dati e Web/Basi di dati e Multimedia. Docenti: Alberto Belussi e Carlo Combi Lezione 5

LE PRIME ACTIVE SERVICE PAGE: oggetto REQUEST

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.a HTTP request e HTTP response (form e link)

Sicurezza Protezioni in una pagina Web

Guida introduttiva al PHP

Mantenimento dello stato

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati.

Per la creazione di un form utilizziamo l'omonimo tag form, come nell'esempio che segue:

I Tag dell html. Parte quarta

Array, Funzioni e interazione con l utente

MODULO 7 HTML HTML. HTLM (Hypertext Markup Language) è un linguaggio per la creazione di documenti ipertestuali e ipermediali

HTML. Es: La prossima parola è in <b>neretto</b> Es: La prossima parola è in neretto

MODULI E FORM. L'attributo enctype specifica il tipo di media utilizzato per codificare i dati del modulo, per default è di tipo MINE.

Introduzione ad HTML seconda parte WWW. Fabio Vitali

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Forms. Commercio elettronico Registrazione di nuovi membri (organizzazioni non-profit) Ricerca di mercato (collezione di dati relativi a utenti)

Esercizi su JavaScript, DOM e Web Storage

Uso di form HTML per inviare dati nel web dinamico. I form HTML ed il web dinamico. Accesso ai dati di un form HTML. Struttura di base dei form HTML

Corso di Web Programming

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente!

Form Editor. Dove NomeProfilo è personalizzabile.

Corso PHP: Strutturare un sito, GET, Form HTML, POST

OBIETTIVI MINIMI Anno scolastico TIC-TIT. 1. Foglio elettronico: funzioni fondamentali (Excel)

Il linguaggio HTML - Parte 5

Linguaggi e tecnologie per il Web 2016/2017 Facsimile di un compito d esame

Guida all uso del sistema gestionale schede online per attività commerciali e turistiche

Il linguaggio PHP. Elementi base

La stampa unione in Word 2007

Manuale per l utilizzo del backend FIDAL.IT. Versione 1.0

Master SIT settembre Corso Web & GIS. Chiara Renso. ISTI- CNR

Utilizzo collegamento remoto

Dott.ssa Maria Vittoria Avolio. Dott.ssa Adriana Pietramala

Modifica Pagina Web. Pulsante LogOut: cliccare per uscire dall'ambiente di amministrazione

Internet e Motori di ricerca

MANUALE UTENTE. Portale Web Scambio sul posto GSE IMPRESE DI VENDITA. stato documento draft approvato consegnato

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore

Introduzione. Java HTTP. G. Prencipe

Metodologie Informatiche Applicate al Turismo

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript...

La Back Office Console consente di costruire lo scheletro degli schema.

Appunti su ASP (Active Server Pages)

MANUALE PER IL REDATTORE DELL UFFICIO STAMPA

La pagina Web modulo.html utilizza le specifiche di stile descritte nel foglio feedback.css.

Prova d Esame Tecnologie Web LA A.A. 2008/2009 Tempo Disponibile: 3 ore Ai candidati è consentita la consultazione di manuali e materiale didattico

HTML HTML. HyperText Markup Language. Struttura di un documento. Gli elementi essenziali di un documento HTML sono i seguenti TAG: <HTML>...

Tito Flagella - Il protocollo HTTP

Exchangefile 2.0 manuale utente

Laboratorio di Basi di Dati Web/MM

I form HTML ed il web dinamico. Uso di form HTML per inviare dati nel web dinamico. Accesso ai dati di un form HTML. script client-side

Uso di form HTML per inviare dati nel web dinamico. I form HTML ed il web dinamico. Struttura di base dei form HTML. Form: controlli di input

Laboratorio di Progettazione Web Introduzione

INDICAZIONI UTILI ALL UTILIZZO NUOVA POSTA ELETTRONICA

CODE MODEL - Modalità di scrittura del codice

Opzioni contenitore Prodotti

HTML5 and Next RIA Apps. Le API per HTML5 Forms

GUIDA STUDENTE ALL USO DELLA PIATTAFORMA EXCHANGE E-LEARNING - Lotus Quickr

AUTENTICAZIONE N.B. Attenzione!

Tecnologie informatiche multimediali


REPORT DI VALUTAZIONE DELL ACCESSIBILITÀ

ISCRIZIONE ONLINE AI SERVIZI SCOLASTICI

Istruzioni per la compilazione del modulo di deposito per parti non rituali

Scelta del Browser. Accesso Area Redazione

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

COME CANCELLARE LA CRONOLOGIA

Manuale Utente di registrazione alla BDAP (Banca Dati delle Amministrazioni Pubbliche) Bilanci Armonizzati

GUIDA ALLA REGISTRAZIONE

Fabio Proietti (c) 2012 Licenza:

IMMAGINI INTRODUZIONE

Anno scolastico INFORMATICA. 2. Conoscere e classificare il software

Fondamenti di Informatica II 29. Elementi di programmazione web e linguaggi di script (2)

HTML: tag. HTML: tag. HTML: tag. HTML: un semplice esempio

Transcript:

Form Progettazione di siti web a.a. 2015/16 Web form e frame Maria Simi Marzo, 2016 [Manuale di riferimento del W3C, Learning web design] HTML mette a disposizione strumenti per la raccolta di informazioni da parte dell utente: le form web (in italiano moduli web) Una form è un elemento HTML generalmente composto da: campi necessari alla raccolta delle informazioni, di vario tipo un pulsante per l'invio dei dati all'applicazione (tipicamente sul server) che li elaborerà Le form in questo corso ci interessano principalmente come elementi di interazione sul lato client Un esempio : la risposta Accesso da parte dell'utente ad un database che risiede sul server: la pagina web è una interfaccia per accedere ai dati che risiedono sul server Come funzionano? Il tag form definisce un elemento di tipo blocco L'elemento form racchiude una serie di elementi HTML, detti controlli, usati dall utente per inserire informazione: campi per input di testo, scelte multiple, menù a discesa, ma non altre form Ciascun controllo ha un nome e un valore: Il nome è specificato nel codice HTML con l'attributo name Il valore corrisponde all input fornito dall utente Una volta inserita l informazione le coppie nome-valore dei controlli della form vengono inviati all applicazione sul server che li elaborerà Invio dati L invio dei dati coinvolge due pagine La pagina HTML che contiene la form per l inserimento dei dati La pagina (o il programma PHP/ASP/JSP ) che riceve i dati inviati dalla form I valori specificati dall utente sono inviati all URL specificato come un insieme di coppie nome=valore separate da & Es. nome=giovanna&soprannome=jo 1 di 7

Il tag form Sintassi per l inserimento di un form: <form id="modulo" method="get" action="script.php" "script.php"> <!-- Qui si inseriscono i controlli --> L attributo id identifica la form L attributo action fornisce l URL dello script o dell applicazione che elaborerà i dati inseriti dall utente. Ogni form può avere una sola action. L attributo method specifica il metodo di invio dei dati al server. Il protocollo HTTP prevede due metodi: get e post Le form non possono essere annidate l una dentro l altra Metodo GET Con il metodo get i dati vengono passati nella URL http://script.php?nome=giovanna&nickname=jonickname=jo Il carattere? separa il nome della pagina dai parametri che vengono passati nella form quello che segue è la query string o stringa di interrogazione I caratteri non consentiti nelle URL vengono automaticamente resi con i loro caratteri esadecimali (URL Encoding, standard di codifica Internet Media Type) : lo spazio diventa %20, la / diventa %2F di GET Metodo POST Con il metodo post le informazioni da passare al server non compaiono nella URL ma in una richiesta separata Questo metodo è preferibile se se non si desidera che i parametri siano mostrati all utente se i dati da trasmettere sono tanti La sintassi è: <form id="modulo" method="post" action="script.php" "script.php"> <!-- Qui si inseriscono i controlli --> GET vs POST Con il metodo GET: i parametri sono uniti alla URL: una pagina dinamica può essere memorizzata nei bookmark le informazioni passate sono visibili nella barra degli indirizzi del browser (problemi di sicurezza) se la form ha molti campi la querystring diventa eccessivamente lunga (vincoli sulla lunghezza massima di una URL: 256 caratteri). Con il metodo POST: il ricaricamento di una pagina implica la spedizione da parte del browser dei parametri maggiore sicurezza non ci sono limiti sulla lunghezza dei caratteri Elementi HTML base per l'interazione input type=" ="text" type=" ="password" type=" ="hidden" type=" ="checkbox" " e type=" ="radio" type=" ="button" type=" ="submit" type=" ="reset" type=" ="image" type=" ="file" textarea select e option i n p u t t y p e = " t e x t " <label><p>nome: Nome:</p> name="nome" value="inserisci il tuo nome" size="18" maxlength="50" </label> value permette di inserire il testo che compare nella form Nome: Inserisci il tuo nome size indica le dimensioni del campo di testo che il browser mostra (in numero di caratteri, default 20 caratteri) maxlength indica il numero massimo di caratteri che l utente può inserire name è il nome del valore che lo identifica nella query string 2 di 7

i n p u t : t y p e = " p a s s w o r d " i n p u t : t y p e = " h i d d e n " <p>qual è la tua password?</p> <input type="password" name="password" size="8" maxlength="8" Qual è la tua password? Consente all utente di inserire testo mascherandolo con * oppure un pallino (dipende dal browser) Sistema non sicuro: l invio dei dati attraverso il web avviene, se non vengono adottate altre misure di sicurezza, 'in chiaro' <input type="hidden" name="urldiprovenienza" value="www.di.unipi.it" "www.di.unipi.it"> Serve per trasmettere parametri di servizio, senza far percepire la loro presenza all utente. In questo caso si utilizzano campi nascosti (hidden), presenti all interno del form ma non visibili all utente i n p u t t y p e = " c h e c k b o x " i n p u t t y p e = " r a d i o " <input name="os" type="checkbox" <input name="os" type="checkbox" checked="checked" <input name="os" type="checkbox" disabled="disabled" Le checkbox sono tipicamente usate per opzioni multiple Quali di questi sistemi operativi hai usato? <input type="radio" name="os" checked="checked" "checked"> Unix </input> <input type="radio" name="os" value="mac"> Macintosh 9.0 </input> <input type="radio" name="os" value="winnt" disabled> Windows NT </input> Quali di questi sistemi operativi hai usato? Unix Macintosh 9.0 Windows NT I "radio button" ("bottoni circolari") consentono di effettuare una scelta esclusiva. In questo caso quindi una scelta esclude l altra. i n p u t t y p e = " s u b m i t " Ogni form necessita di un bottone di invio per trasmettere i dati al server i n p u t t y p e = " r e s e t " Il bottone di Reset consente di riportare la form allo stato originario, cancellando ogni dato inserito <input type="submit" value="invia i dati" Invia i dati <input type="reset" value="cancella" "cancella"> cancella i n p u t t y p e = " b u t t o n " Esiste infine un tipo di bottone generico che non esegue nessuna azione particolare ma che può essere utilizzato per associare degli eventi con JavaScript <input type="button" value="clicca!" "Clicca!"> Clicca! 3 di 7

i n p u t t y p e = " i m a g e " Il campo "image" ci consente di utilizzare come bottoni vere e proprie immagini SRC mi permette di specificare l url dell immagine Usare l attributo ALT! <input type="image" name="invia" src="img/enter.jpg" width="88px" height="40px" alt="invia il modulo" i n p u t t y p e = " f i l e " Consente di fare upload di un un file Il campo di testo è affiancato dal bottone Browse, Sfoglia (a seconda della lingua del browser dell utente) maxlength indica il numero massimo di caratteri che l utente può inserire size indica le dimensioni del campo di testo che il browser mostra (la larghezza è data dal numero di caratteri, default 20 caratteri) Occorre specificare <form enctype="multipart/form-data" "multipart/form-data"> <input type="file" > Textarea Consente di inserire un testo rows specifica il numero di righe dell area da visualizzare cols specifica la larghezza (in caratteri) dell area da visualizzare Appare una scrallbar nel casp il testo inserito sia più lungo delle dimensioni specificate <textarea name="testo" cols="40" rows="5" "5"> Racconta il tuo sogno in 100 parole o meno </textarea> Nota: ampiezza e altezza si possono inserire con i CSS 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 Ciascuna voce deve essere compresa all interno del tag option e il valore deve essere specificato attraverso l'attributo value Con l attributo selected si può indicare una scelta predefinita Sintassi s e l e c t Etichette - labels 1. Menù a tendina <select name="colore" "colore"> <option>rosso</option> <option>giallo</option> <option selected="selected" "selected"> verde </option> <option>blu</option> <option>arancione</option> </select> 2. Lista "scrollabile" <select name="colore" size="3" multiple="multiple" "multiple"> <option>rosso</option> <option>giallo</option> <option>verde</option> <option>blu</option> <option>arancione</option> </select> È buona pratica marcare con un tag specifico il significato dei campi di una form (label) Due modi di associare etichette ai controlli di una form: <form > <label for="log" "log">login: </label> name="login" id = "log" <form > <label> Login: name="login" </label> 4 di 7

Le novità nelle web form HTML5 Comportamenti ricorrenti implementati dai browser invece che dagli sviluppatori in Javascript: li vedremo Nuovi controlli Datalist Input specializzati con comportamenti particolari Slider Spinner Date e tempi color picker Nuovi controlli: datalist Incrocio tra: una input box normale, in cui si digita testo una select <input list="browsers" name="browser" "browser"> <datalist id="browsers" "browsers"> <option value="internet Explorer"> <option value="firefox" "Firefox"> <option value="chrome" "Chrome"> <option value="opera" "Opera"> <option value="safari" "Safari"> </datalist> <input type="submit" "submit"> da w3schools Nuovi tipi di input Input relativi alle date e ai tempi Search (type=search) Date (type=date) Slider (type=range) Color picker (type=color) Email (type=email) Spinner (type=number)... eccetera Importante: se non supportate diventano normali input box Grazie w3schools! Uso delle informazioni semantiche Tastiere specializzate in Safari per ios! F i e l d s e t e l e g e n d I fieldset servono per raggruppare logicamente un insieme di controlli con una legenda associata <fieldset> <legend>iscrizione mailing list</legend> <ul> <li>aggiungimi alla tua mailing list</li> <li><label>nome e cognome: name="name" </label></li> <li><label>email: name="email" </label></li> </ul> </fieldset> Iscrizione mailing list Aggiungimi alla tua mailing list Nome e cognome: Email: 5 di 7

Form con stile Allineare gli elementi di una form Con l uso di tabelle minimali (dentro la form) o liste (senza decorazioni) Con CSS usando float sulle label HTML CSS Frame I frame suddividono la finestra del browser in sottoparti in cui vengono caricate pagine diverse di pagina a frame Motivi a favore: Si può far variare una parte della pagina e tenere fisso il resto Si può riutilizzare uno stesso componente in più pagine Si può tenere fissa una parte della pagina (es. logo) e scorrere il resto Si possono integrare pagine da server diversi (mashup) Ci sono comunque svantaggi e motivi per non utilizzarli: XHTML1.0 richiede un DOCTYPE particolare i nuovi linguaggi non li utilizzano: HTML5 li elimina ci sono modi alternativi di fare le cose Problemi di usabilità dei frame Non si possono mettere bookmark (segnalibri, favoriti) e inviare URL per email, a pagine contenute nei frame (o almeno è complicato) Le pagine destinate ad essere incluse in frame potrebbero essere usate anche fuori contesto (es. recuperate da un motore di ricerca) se la pagina inclusa è a frame si potrebbero avere frame dentro frame... Problemi nella navigazione Necessità di versioni alternative Problemi per i crawler e motori di ricerca Frame inline (iframe) I frame inline consentono di inserire il contenuto di un documento come elemento inline Sono ammessi anche in HTML5 In generale: <iframe src="url"...> contenuto alternativo per browser non abilitati </iframe> Il documento da inserire è identificato da URL All interno dell'elemento dovrebbe essere fornito testo alternativo, magari un link al documento 1 di inclusione di orario Questioni legali Nel caso dei frame e degli iframe è il browser che richiede al server un documento via http, non c è modo di evitare sul lato server che il documento venga incluso nella pagina di un altro (framing). Il contenuto incluso può essere anche graficamente adattato alla pagina "ospite". Il framing è considerato scorretto e una violazione del copyright, quando fatto senza chiedere autorizzazioni. Alternative all'uso dei frame Se c'è una componente che si deve ripetere nelle varie pagine di un sito (es. un menù di navigazione, un logo) si preferisce farla includere dal server con funzionalità sul lato server Server Side Includes (SSI) Una funzionalità semplice offerta dai Web server tipo Apache (se installato modulo mod_include) È una richiesta al server di includere frammenti di pagina contenuti in file specificati. SSI è un primo esempio di pagine assemblate al volo sul lato server, o pagine dinamiche. 6 di 7

Come funziona SSI : <html> <head><title>ssi</title></head> <body> <!--#include virtual="intestazione.html" -->... contenuto della pagina... </body> </html> Javascript lato client Anche con Javascript si può includere contenuto nelle pagine Con AJAX si possono fare richieste asincrone al server e caricare su richiesta pezzi di pagina o dati: Limitazione: questi contenuti devono provenire dallo stesso server che ospita la pagina che li richiede ( same server policy ) Per motivi di sicurezza File intestazione.html: <div id="logo" "logo"><img src="logo.gif" </div> Conclusioni Le form sono un importante strumento di interazione con l'utente I controlli da usare servono per input di diverso tipo HTML5 introduce molti controlli con semantica precisa e "incoraggia" i browser a implementare compartamenti standard e buone pratiche Riferimenti utili per le form: Web form design (Luke Wroblewski) 7 di 7