In… Form… iamoci (validazione delle form). Bruni e Giorgetti2 Operazioni comuni Ormai siete esperti nella gestione degli eventi Rivediamo velocemente.

Slides:



Advertisements
Presentazioni simili
UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Advertisements

CGI in Python & WebWare Marco Barisione. 2 CGI CGI = Common Gateway Interface È un modello di comunicazione fra browser e server I programmi CGI sono.
APRIRE PROGRAMMA DI POSTA OUTLOOK EXPRESS
A. Ferrari Alberto Ferrari. Un form html è una sezione di documento che contiene Testo normale e markup Elementi speciali chiamati controlli (checkbox,
JavaScript 7. Eventi di JavaScript.
JavaScript 8. Altri oggetti JavaScript. history Contiene lelenco delle pagine visitate Sintassi: window.history frame.history history Proprietà length.
PHP.
Configurare Outlook Express
Comunicare con la posta elettronica (7.4)
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Esercitazione 2 Array, funzioni, form
Sviluppo servizi su rete, banche datiCorso di formazioneDicembre Strumenti via WEB per la gestione dinamica dei siti.
Università La Sapienza Web programming e programmazione multimediale 1 Web Programming e comunicazione multimediale Lezione 10: PHP.
Modulo o Form in Html.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Nomi ed espressioni.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Informazioni globali nelle pagine HTML.
Laboratorio di Applicazioni Informatiche II mod. A
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Multimedia e Plugin Roberto Bruni e Daniela Giorgetti.
Animazioni con le immagini
Eventi Come rendere gli elementi HTML di una pagina web sensibili alle azioni del mouse.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Laurea.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
Introduzione a AJAX - Asynchronous Javascript And Xml
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
Lezione 2 Programmare in ASP
Corso di PHP.
Tag Sintassi Testo, tag di formattazione, Nota: - tag di chiusura - attributi.
Internet I moduli web. Inviare informazioni Quando si comunica nel web, si ricevono messaggi e informazioni dai siti web, ma si debbono anche inviare.
Riservato Cisco 1 © 2010 Cisco e/o i relativi affiliati. Tutti i diritti sono riservati.
Posizionamento Come posizionare gli elementi HTML nella pagina web e come JavaScript può muoverli cambiando la loro posizione nel tempo.
In questo tutorial viene spiegato come creare un nuovo account di posta elettronica in Mozilla Thunderbird con un SMTP autenticato Nella pagina di accesso.
HTML Creazione di moduli Prof.ssa Daniela Decembrino.
Elenchi in Excel E’ possibile inserire le voci del nuovo elenco oppure
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Maria Vittoria Avolio Laurea.
Introduzione alle ASP: primi passi negli script. Frosini Andrea Università degli studi di Siena Dipartimento di Scienze Matematiche.
BIOINFO3 - Lezione 121 Alter Table Alter table permette di cambiare la struttura di tabelle esistenti. Ad esempio e` possibile aggiungere o cancellare.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
HTML I Form in HTML5.
DOM – Document Object Model
Modulo 6 Test di verifica
Web Form Presentazione 2.3 Comunicazione integrata in rete| Prof. Luca A. Ludovico.
Web Form Presentazione 2.2 Comunicazione integrata in rete| Prof. Luca A. Ludovico.
Premessa Con i FORMS (moduli) l'utente può interagire con il sito spedendo un proprio commento, avanzando richieste senza necessità di scrivere via ,
Funzioni. La sintassi generale di una funzione è:
Form o moduli HTML Esistono degli oggetti standard che permettono una certa interattività con l'utente. Un utilizzo completo e significativo di tali elementi.
JavaScript Generalità Cos'è JavaScript?
1 Liste e Combo Liste e combo (lista chiusa) hanno una struttura simile: utilizzano gli stessi due tag: e Il primo tag contiene il secondo. deve essere.
Microsoft Access Maschere (II).
Introduzione a Javascript
HTML 4.01 Apogeo. I tag di base Capitolo 1 I tag SintassiEsempi:
Lezione 19 Riccardo Sama' Copyright  Riccardo Sama' Access.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
INTRODUZIONE. Javascript è un linguaggio di scrittura che permette di aggiungere veri e propri programmi alle tue pagine web.
JavaScript Linguaggio definito da Netscape JScript: la versione MicroSoft (basata su ECMAScript) Serve ad arricchire una pagina HTML con codice da eseguirsi.
In… Form… iamoci (validazione delle form) Roberto Bruni e Daniela Giorgetti.
WWW Introduzione ad HTML seconda parte Fabio Vitali.
JavaScript Linguaggio definito da Netscape JScript: la versione MicroSoft (basata su ECMAScript) Serve ad arricchire una pagina HTML con codice da eseguirsi.
Lezione 6: Form.  In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es.
Manuale Utente – i-Sisen Questionario del Gas Naturale
Javascript. HTML per definire il contenuto delle pagine web CSS per specificare il layout delle pagine web JavaScript per definire il comportamento delle.
EVENTI Gli eventi sono delle azioni che possono essere identificate da javascript. 1 - onMouseOver, che viene messo in atto quando l'utente fa scorrere.
NOTIFICHE  Notifich è una funzionalità interna al nostro sistema che permette di inviare brevi messaggi di notifiche agli utenti che porto.
Corso Web Developer Lezione 1 – Cenni su JavaScript.
Transcript della presentazione:

In… Form… iamoci (validazione delle form)

Bruni e Giorgetti2 Operazioni comuni Ormai siete esperti nella gestione degli eventi Rivediamo velocemente alcune operazioni di routine Da ora in poi immaginiamo di avere dei campi con nomi mytext, mytextarea, mycheckbox, myradio, etc.

Bruni e Giorgetti3 Prendere il valore da un campo di input di tipo text, password o textarea valore = document.getElementById(mytext).value; valore = document.getElementById(mypassword).value; valore = document.getElementById( mytextarea).value; //usare parseInt per valori numerici

Bruni e Giorgetti4 Controllare se una checkbox è selezionata o meno if (document.getElementById(mycheckbox).checked){ valore = document.getElementById(mycheckbox).value } else { valore = ; }

Bruni e Giorgetti5 Determinare il valore selezionato di un radio valore = ; for (i=0; i<document.getElementById(myradio).length; i++) { if (document.getElementById(myradio).checked) { valore = document.getElementById(myradio)[i].value; break; }

Bruni e Giorgetti6 Determinare il valore o il testo di una opzione in un campo select singolo with (document.getElementById(myselect)) { valore = options[selectedIndex].value; testo = options[selectedIndex].text; }

Bruni e Giorgetti7 Determinare il valore e il testo delle opzioni in un select multiplo valore = testo = ; with (document.getElementById(myform)){ for (i=0;i<myselect.length;i++) { if (myselect.options[i].selected) { valore += -+myselect.options[i].value; testo += -+ myselect.options[i].text; } valori = valore.split(-); testi = testo.split(-);

Validazione

Bruni e Giorgetti9 Le form di un tempo Prima di JS il vero scopo delle form HTML era di inviare dati al server visto che il client non era abbastanza intelligente da elaborarli da solo Stava al server inviare le risposte del caso in base ai dati ricevuti

Bruni e Giorgetti10 La validazione Adesso è possibile spostare (tutta o in parte) la logica sul client. Come? –usando JS! In particolare la validazione dei dati dovrebbe essere totalmente a carico del client. Perché? –Perché è in grado di farlo.

Bruni e Giorgetti11 Come, dove e quando come: gestione eventi di JS dove: nel documento che contiene la form quando: –costantemente, ad ogni modifica dei campi –prima dellinvio del modulo –tecniche miste

Bruni e Giorgetti12 Verifica costante usare lattributo onchange oppure onblur –associare una funzione che controlli se i dati sono consistenti visualizzare un messaggio di alert in caso contrario usare i metodi focus() e select() invocati sullelemento in esame per costringere lutente a inserire dati corretti –controlli tipici: valori compresi in un certo intervallo, stringhe non vuote, indirizzi di sensati usare lattributo onfocus per la protezione dei dati (es. totali di un ordine) –appena il campo riceve il focus lo togliamo passandolo ad un altro elemento della form

Bruni e Giorgetti13 Valori in opportuni intervalli I usare un campo di input per leggere valori tra 10 e 100 inclusi <input type=text id=mytext name=mytext size=3 maxlength=3 value=10 onblur=controlla(); /> …

Bruni e Giorgetti14 Valori in opportuni intervalli II <!-- function controlla() { var valore = parseInt(document.getElementById(mytext).value); if (isNaN(valore) || valore 100) { document.getElementById(mytext).focus(); document.getElementById(mytext).select(); alert(Devi darmi un intero da 10 a 100); } //-->

Bruni e Giorgetti15 Stringhe non vuote I usare un campo di input per leggere nome e cognome <input type=text name=mytext id=mytext value= onblur=controlla(); /> …

Bruni e Giorgetti16 Stringhe non vuote II <!-- function controlla() { var testo= document.getElementById(mytext).value; var ok = false; for(i=0; i<testo.length; i++) { var lettera = testo.charAt(i); if (lettera != && lettera != \t) { ok=true; break; } } if (!ok) { document.getElementById(mytext).focus(); document.getElementById(mytext).select(); alert(Non puoi lasciare il campo vuoto); } //-->

Bruni e Giorgetti17 sensate I usare un campo di input per leggere un indirizzo <input type=text name=mytext id=mytext value= onblur=controlla(); /> …

Bruni e Giorgetti18 sensate II <!-- function controlla() { var testo= document.getElementById(mytext).value; var ok = true; if(testo.length<5) { ok=false; } // almeno 5 caratteri var if (primoAt == -1) { ok=false; } // almeno > primoAt) { ok=false; } // una if (primoAt == 0 || primoAt == testo.length-1) { ok=false; } // primo e ultimo carattere diversi if(testo.indexOf( ) != -1) { ok=false; } // niente spazi …

Bruni e Giorgetti19 sensate III … if(testo.indexOf(\t) != -1) { ok=false; } // niente tabulazioni if(testo.lastIndexOf(.) == testo.length-1) { ok=false; } // ultimo carattere diverso da. if (!ok) { document.getElementById(mytext).focus(); document.getElementById(mytext).select(); alert( insana!); } //-->

Bruni e Giorgetti20 Verifica allinvio la verifica costante potrebbe essere fastidiosa per lutente –(i campi della form dovrebbero poter essere riempiti gradualmente e in ordine sparso) possiamo rimandare i controlli al momento dellinvio usare lattributo onsubmit del pulsante di submit o del tag stesso associare una funzione che controlli se tutti i dati della form sono consistenti –visualizzare un messaggio di alert in caso contrario e restituire il valore false (altrimenti la form potrebbe essere inviata ugualmente) –se tutto va bene restituire true per essere sicuri di inviare la form

Bruni e Giorgetti21 Verifiche combinate controllare i dati principali ad ogni modifica eseguire un controllo aggiuntivo di consistenza prima dellinvio della form –il controllo aggiuntivo è molto sensato il CGI dovrà comunque ricontrollare la consistenza dei dati perché –qualcuno potrebbe copiare il codice HTML della form, modificarla ed usarla per inviare dati –lutente potrebbe disattivare JS

Bruni e Giorgetti22 Operazioni comuni Ormai siete esperti nella gestione degli eventi e nella validazione… Rivediamo velocemente alcune operazioni di routine Da ora in poi immaginiamo di avere una form con name myform dei campi con nomi mytext, mytextarea, mycheckbox, myradio, etc.

Bruni e Giorgetti23 Controllare se una checkbox è selezionata o meno if ( document.getElementById(mycheckbox).checked) { alert(document.getElementById(mycheckbox).value) }

Bruni e Giorgetti24 Determinare il valore selezionato di un radio for (i=0;i< document.getElementById(myradio).length;i++) { if (document.getElementById(myradio)[i].checked) { alert(document.getElementById(myradio)[i].value); break; }

Bruni e Giorgetti25 Determinare il valore o il testo di una opzione in un campo select singolo with (document.getElementById(myselect)) { alert(options[selectedIndex].value); alert(options[selectedIndex].text); }

Bruni e Giorgetti26 Determinare il valore o il testo di una opzione in un campo select multiplo with (document.getElementById(myform)) { for (i=0;i<myselect.length;i++) { if (myselect.options[i].selected) { alert(myselect.options[i].value); alert(myselect.options[i].text); }

Bruni e Giorgetti27 Il pulsante di help Nelle form bisognerebbe sempre inserire un pulsante Help se premuto dovrebbe aprire una nuova finestra senza toolbar, menubar, etc.. nella finestra dovrebbero apparire le istruzioni per riempire il modulo se il modulo è molto lungo e complicato potremmo anche inserire un pulsante di help per ogni campo, oppure per ogni gruppo di campi Ricordarsi di inserire anche un pulsante per chiudere la finestra di Help