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

Documenti analoghi
Esercizi su HTML e JavaScript

Esercizi su HTML5 e form

D B M G Il linguaggio HTML

@2011 Politecnico di Torino 1

Interazione con l utente : i moduli.

Dott.ssa Adriana Pietramala

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

HTML e interattività FORM

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

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

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

Esercizi su XML e DTD

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

04/05/2011. Lezione 6: Form

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem:

Esercizi su XML, DTD e DOM

JavaScript (4) Programmazione lato client. document.forms[] Oggetto form. Oggetto form. È uno degli oggetti più importanti del DOM

Strumenti a disposizione

Tecniche Multimediali

DTD ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Document Type Definition (DTD) Un DTD è il linguaggio usato per descrive la

ISCRIZIONI. Impostazioni form ECDL

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

Metodologie Informatiche Applicate al Turismo

I Tag dell html. Parte quarta

ESEMPI DI FORM (da

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

INDICE: Sorgente della prima pagina html PAG 2. Sorgente della seconda pagina html PAG 3. Sorgente della terza pagina html PAG 4

A. Lorenzi Pagine ASP

Metodologie Informatiche Applicate al Turismo

Laboratorio di Tecnologie Web Laurea in Scienze e Tecnologie Multimediali

Sicurezza Informatica: Tecniche di SQL INJECTION

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

Utilizzo delle Maschere in Microsoft Access

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

APPLICAZIONI WEB E INTRANET CON PHP

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE SITO E-COMMERCE

ALCUNI ESEMPI DI DATI 6,28 numerico costante

Sommario. Nozioni di base su HTML

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

Manuale Stampe Registro elettronico SOGI

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

Ordinare dati. Microsoft Access. Ordinare dati. Ordinare dati. Ordinare dati. Ordinare dati. Query (II), filtri. L ordinamento crescente:

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

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

Realizzare una piccola chat in php senza database

RELAZIONE TECNICA SUL SITO DELLA PALESTRA. Anno scolastico Alunno: Davide martinicca. Pagina 1

WEP WEb Programming. 4 PHP: dati e form

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

Introduzione ad HTML seconda parte WWW. Fabio Vitali

Anno scolastico INFORMATICA. 2. Conoscere e classificare il software

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

Il linguaggio JavaScript

extensible Markup Language

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it

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

APPLICAZIONI WEB E INTRANET CON PHP

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

Laboratorio di sistemi SELECT e checkbox Jsp [Java]

Lezione 6: Form 27/04/2012

Individuazione di sottoproblemi

Tipi di input widget. Textbox. <form action="action_page.php"> <b>name:</b> <input type="text" name="name" size="20" maxlength="40" > <br><br>

Laboratorio di Basi di Dati Web/MM

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

Sicurezza Protezioni in una pagina Web

Lezione III: Oggetti ASP e interazione tramite form HTML

HTML5 and Next RIA Apps. Le API per HTML5 Forms

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

Lezione nr. 8. Allora ecco come fare per recuperare le ultime tre tipologie di campo che ci sono rimaste da vedere.

Excel 2. Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A Prof.ssa Bice Cavallo

GESTIONE DI MDB in WEB

APPENDICE - Pratiche di radiazione Polo ACI

XML e Windows Phone. Semplice tutorial per l'utilizzo di documenti e dati XML in un'app per Windows Phone.

GALLERY. Album immagini

Access 2007 Colonna di ricerca

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori

Utilizzo delle Maschere in Microsoft Access

Dispense XML. Indice

Vodafone SMS Exploiting v0.1 by ErMeS & Pnluck

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

per immagini guida avanzata Modificare numeri e date Geometra Luigi Amato Guida Avanzata per immagini Excel

Cosa sono le maschere

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA GESTIONE MEDIAWORLD

Esercizi per il corso di Fondamenti di Informatica 2

Excel 3. Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A Prof.ssa Bice Cavallo

Richiami. Laboratorio di Informatica per chimica. Elaborazione di testi. Elaborazione di testi. Applicazioni per l elaborazione di testi.

GUIDA APPLICATIVA NUMERAZIONE UNITARIA INTERMEDIARIO

Chiamata delle funzioni JavaScript da un applet

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Gestione Avvisi e Comunicazioni

Richiami sugli elementi del linguaggio HTML

Excel Base- Lezione 3. Barbara Pocobelli Estav Nord Ovest. Il comando Trova

Presentazione Domande di Disoccupazione Agricoli e/o A.N.F. Internet Versione 1.0

Tipi di pulsante, caselle di controllo e altri controlli sulla barra degli strumenti Moduli

La programmazione Web 3-Introduzione ai moduli (FORM)

PHP: Professional Hypertext Preprocessor

WWW (World Wide Web)!& ( # %% (*0 #,% )0#1( &#"#2

Video Scrittura (MS Word) Lezione 3 Formattazione e Stampa documenti

lnx.brescianet.com Sito didattico - Prof. Sechi Marco 2 Modulo - 3N Appunti illlustrati durante le lezioni

Servlet e JDBC. Servlet e Web Server. Servlet e Web Server. Servlet e Web Server. Richieste. Servlet. Servlet:

Transcript:

Esercizio 1 Linguaggi e tecnologie per il Web 2016/2017 Facsimile di un compito d esame (a) Scrivere un documento HTML contenente una form contenente i seguenti campi: cognome e nome (casella di testo editabile lunga 40 caratteri) sesso (selezionabile tramite due bottoni radio) matricola (casella di testo editabile lunga 12 caratteri) regione di residenza (da scegliere da un menu che riporta le 20 regioni italiane) email (casella di testo editabile lunga 30 caratteri) telefono (casella di testo editabile lunga 15 caratteri) anno di corso (casella di testo editabile lunga 2 caratteri) richieste particolari (area di testo editabile di 12 righe per 60 colonne) bottone di invio bottone di reset (b) Aggiungere al documento HTML funzioni JavaScript che eseguono i seguenti controlli: (b1) verifica che il cognome e nome non sia vuoto. Questa verifica va fatta ogni volta che l utente cambia il valore del campo cognome e nome; (b2) verifica che sia stata selezionata una regione. Questa verifica va fatta all atto dell invio della form; (b3) verifica che l anno di corso sia un numero compreso tra 1 e 6 oppure sia la stringa FC. Questa verifica va fatta ogni volta che l utente cambia il valore del campo anno di corso; (b4) verifica che o l email o il telefono siano non vuoti. Questa verifica va fatta all atto dell invio della form. (c) Per ognuno dei controlli specificati al punto (b), dire se è realizzabile in HTML5 senza utilizzare codice JavaScript, e in caso positivo, spiegare come. Soluzione (a) Documento HTML contenente la form e la funzione Javascript richiesta: <!doctype html> <html> <head> <script type="text/javascript" language="javascript"> function controllacognomenome() { if (document.registr.cognome.value=="") { alert("inserire cognome"); function controllaanno() { if (document.registr.anno.value!="fc") { if (isnan(document.registr.anno.value) document.registr.anno.value=="") { alert("anno di corso errato"); else { var v=parseint(document.registr.anno.value); if ((v<1) (v>6)) { alert("anno di corso errato");

function validaform() { if (document.registr.regione.value=="nessuna") { alert("selezionare una regione"); if ((document.registr.email.value=="")&&(document.registr.tel.value=="")) { alert("inserire o l email o il numero di telefono"); alert("dati inseriti correttamente"); </script> </head> <body> <form action="" method="post" name="registr" onsubmit="return validaform();"> cognome: <input type="text" name="cognome" size="40" maxlength="40" onchange="return controllacognomenome();"> sesso: <input type="radio" name="sesso" value="m">m <input type="radio" name="sesso" value="f">f matricola: <input type="text" name="matricola" size="12" maxlength="12"> regione: <select name="regione"> <option value="nessuna" selected></option> <option value="valdaosta">val d Aosta</option> <option value="piemonte">piemonte</option> <option value="liguria">liguria</option> <option value="lombardia">lombardia</option> <option value="veneto">veneto</option> <option value="trentino">trentino Alto Adige</option> <option value="friuli">friuli Venezia-Giulia</option> <option value="emilia">emilia-romagna</option> <option value="toscana">toscana</option> <option value="marche">marche</option> <option value="umbria">umbria</option> <option value="lazio">lazio</option> <option value="abruzzo">abruzzo</option> <option value="molise">molise</option> <option value="campania">campania</option> <option value="basilicata">basilicata</option> <option value="puglia">puglia</option> <option value="calabria">calabria</option> <option value="sicilia">sicilia</option> <option value="sardegna">sardegna</option> </select> email: <input type="text" name="email" size="30" maxlength="30"> telefono: <input type="text" name="tel" size="15" maxlength="15">

anno di corso: <input type="text" name="anno" size="2" maxlength="2" onchange="return controllaanno();"> richieste particolari: <textarea name="richieste" cols="60" rows="12"></textarea> <input type="submit" value="invia"> <input type="reset" value="reset"> </form> </body> </html> (b) I primi tre controlli del punto precedente sono realizzabili in HTML5 senza includere script. In particolare: (a1) verifica che il cognome e nome non sia vuoto: <input type="text" name="cognome" size="40" maxlength="40" required> (a2) verifica che sia stata selezionata una regione; <select name="regione" required> (a3) verifica che l anno di corso sia un numero compreso tra 1 e 6 oppure sia la stringa FC ; <input type="text" name="anno" size="2" maxlength="2" pattern="1 2 3 4 5 6 FC"> Infine, il controllo (a4) (verifica che o l email o il telefono siano non vuoti) non può essere codificato in HTML5 senza l uso di script. Esercizio 2 Scrivere un documento HTML contenente una form contenente i seguenti campi: matricola (casella di testo editabile lunga 12 caratteri) cognome e nome (casella di testo editabile lunga 60 caratteri) data di nascita (casella di tipo date) sesso (menu a due opzioni, F e M) corso frequentato (menu a tendina contenente una lista di corsi) bottone di invio bottone di stampa della local storage degli utenti Aggiungere funzioni JavaScript e un foglio di stile CSS tali che: 1. i dati relativi ad ogni utente devono essere memorizzati, all atto del loro invio, nella local storage; 2. il bottone di stampa della local storage deve visualizzare, nella parte finale del documento HTML, gli utenti memorizzati nella local storage; 3. il foglio di stile CSS deve fare in modo che i dati relativi agli studenti maschi siano visualizzati con colore e font diverso dai dati relativi alle studentesse femmine. Non si possono usare CSS inlined (solo CSS incorporati). Soluzione Documento HTML contenente la form richiesta: <!DOCTYPE html> <html> <head> <style> tr.m {color:blue; font-family: "Courier New"; tr.f {color:red; font-family: Arial;

</style> <script> function inizializzastorageutenti(){ if (typeof(localstorage.utenti) == "undefined") { localstorage.utenti="[]"; function resetstorageutenti(){ localstorage.utenti="[]"; function stampastorage(){ var u = JSON.parse(localStorage.utenti); var l = u.length; var s = new String("<h3>Stato di localstorage:</h3>"); s +="<table border=1><tr><th>cognome e nome</th><th>data di nascita</th><th>sesso</th></tr>"; for (i=0;i<l;i++) s += "<tr class="+u[i].sesso+"><td>"+u[i].cogn+"</td><td>"+u[i].data+"</td><td>"+u[i].sesso+"</td></tr>"; s += "</table>"; document.getelementbyid("vistastorage").innerhtml = s; function inserisciutente() { if (document.registrazione.cognome.value=="") { alert("inserire cognome"); if (document.registrazione.datanascita.value=="") { alert("inserire data di nascita"); var u = JSON.parse(localStorage.utenti); var nextpos = u.length; var o = { cogn:document.registrazione.cognome.value, data:document.registrazione.datanascita.value, sesso:document.registrazione.sesso.value ; alert("dati inseriti correttamente"); u[nextpos] = o; localstorage.utenti = JSON.stringify(u); </script> </head> <body onload="inizializzastorageutenti()"> <form action="" method="post" name="registrazione" onsubmit="return inserisciutente();" accept-charset="utf-8"> cognome e nome: <input type="text" name="cognome" size="60" maxlength="60"/> <br/> data di nascita: <input type="date" name="datanascita" size="10" maxlength="10"/> <br/> sesso: <select name="sesso" id="sesso"> <option value="f">f</option> <option value="m">m</option> </select> <br/> <input type="submit" value="invia"/> <input type="button" value="stampa Storage" onclick="stampastorage();"/> <input type="button" value="reset Storage" onclick="resetstorageutenti();"/> </form> <hr/> <div id="vistastorage"></div>

<hr/> </body> </html> Esercizio 3 Data la seguente DTD: <!DOCTYPE r [ <!ELEMENT r ((t,x) (s,y))+> <!ELEMENT s (y,u)+> <!ELEMENT t (x,v)> <!ELEMENT u ((t s v)?,((r x y)+,y)*)> <!ELEMENT v ((u x)+,(x y)+,(y u)+)> <!ELEMENT x (#PCDATA t x)*> <!ELEMENT y (EMPTY)> <!ATTLIST u attru CDATA #IMPLIED> <!ATTLIST v attrv CDATA #REQUIRED attrvv CDATA #IMPLIED> ]> 1) dire se la DTD è corretta ed in caso negativo evidenziare gli errori presenti e correggerli; 2) scrivere un documento XML che sia valido rispetto alla DTD (eventualmente corretta). Soluzione 1) La DTD è corretta. 2) Un documento XML valido rispetto alla DTD è il seguente: <?xml version="1.0"?> <r> <t> <x>ciao</x> <v attrv="abcde"> <u/> <x/> <y/> </v> </t> <x>ciao ciao</x> </r> Esercizio 4 Scrivere un foglio di stile XSL che, dato un documento XML, restituisce il documento tale che: 1) l elemento radice di input viene trasformato in un elemento root, e viene creato per tale elemento un attributo che ha per nome nomeroot e che ha per valore il nome dell elemento di input corrente. Inoltre, il contenuto dell elemento di input viene ricorsivamente trasformato; 2) ogni elemento che è figlio dell elemento radice viene copiato in output, e il contenuto di tale elemento viene ricorsivamente trasformato; 3) per ogni elemento che è figlio di un figlio dell elemento radice viene creato in output un elemento nipote come figlio della radice, e il contenuto di tale elemento viene ricorsivamente trasformato; 4) per ogni elemento che è figlio di un figlio di un figlio dell elemento radice viene creato in output un elemento pronipote come figlio della radice, e viene aggiunto a tale elemento un sottoelemento il cui nome è nomepronipote e il cui contenuto testuale è il nome dell elemento di input corrente. Inoltre il contenuto di tale elemento viene ricorsivamente trasformato; 5) ogni altro elemento viene copiato in output come figlio dell elemento radice. Inoltre il contenuto di tale elemento viene ricorsivamente trasformato; 6) ogni nodo di tipo testo del documento non viene copiato in output. Ad esempio, se il documento XML di input è il seguente: <a> <x>testo 1</x> <b> <c><w>testo 2</w></c> </b> <w> <y>testo 3 <d><z>testo 4</z></d> </y> </w> </a>

il foglio di stile applicato al documento deve restituire il documento seguente: <root nomeroot="a"> <x/> <b/> <nipote/> <pronipote><nomepronipote>w</nomepronipote></pronipote> <w/> <nipote/> <pronipote><nomepronipote>d</nomepronipote></pronipote> <z/> </root> Esercizio 5 Dato il seguente documento HTML: <html> <body> inizio documento <div> zona di visualizzazione dei documenti </div> fine documento </body> </html> Modificare il documento HTML in modo da poter selezionare, tramite bottoni, il caricamento asincrono di 4 diversi documenti HTML (nomi dei documenti: doc1.htm, doc2.htm, doc3.htm, doc4.htm) che vanno visualizzati all interno dell elemento div. Esercizio 6 Scrivere un documento HTML che risolve il precedente esercizio 5 utilizzando JQuery.