Usare il seguente HTML per i primi tre esercizi (che, si noti, al
Transcript
Usare il seguente HTML per i primi tre esercizi (che, si noti, al
HTML Usare il seguente HTML per i primi tre esercizi (che, si noti, al momento restituisceunerroreJavaScript): <!DOCTYPE html> <html> <head> <title>Prove Javascript</title> <script type="text/javascript"> </script> </head> <body> <h1>Prove Javascript</h1> <p id="para1">Un paragrafo di prova.</p> <button type="button" onclick="funzione()">Clicca qui</button> </body> </html> Esercizio1 Utilizzando il documento HTML specificato sopra, e senza usare jQuery, fare in modo che, facendo click sul pulsante “Clicca qui”, compaia una finestra di alert conscritto“HelloWorld”. Esercizio2 UtilizzandoildocumentoHTMLspecificatosopra,esenzausarejQuery,farein modo che, facendo click sul pulsante “Clicca qui”, si chieda all’utente di specificareunastringa(siguardilafunzione prompt()),esicambiilcontenuto delparagrafo”para1”conlastringacompostada“Tuhaiscrittoche”equanto fornito dall’utente. Si guardino al proposito le proprietà getElementById dell’oggettodocumenteinnerHTMLdell’oggettoNode. Esercizio3 Utilizzando il documento HTML specificato sopra, e senza usare jQuery, si aggiungano due campi numerici e si faccia in modo che, facendo click sul pulsante “Clicca qui”, si raccolgano i valori dei due campi (proprietà value dell’oggetto Node),lisisommiesimettailrisultatonelparagrafo”para1”.Atal propositopuòessereutilelafunzioneparseInt. Esercizio4 SiscarichisulpropriospaziowebildocumentoJSONdisponibileall’indirizzo • http://www.fabiovitali.it/TW16/auto.json UtilizzandoildocumentoHTMLspecificatosopra,eusandojQuery,sicarichivia Ajax la propria copia del file JSON e se ne visualizzi il contenuto sotto forma tabellareneldivdiundocumentoHTML(sipuòusareBootstrap). Facoltativo: si utilizzi un widget di data grid come http://www.jquerybootgrid.com/perottenereunavisualizzazionesofisticatadellatabellaconfiltri, ordinamentieflessibilitànellastrutturazionedellecolonne. Esercizio5 CreareuncostruttoreperoggettiAutomobilechehacomeparametriunmodello (unastringa),unafotografia(unURL)eunprezzo(unnumero).Automobileha anche una proprietà leggibile e scrivibile, inizialmente vuota: il codice (una stringa). L’oggettometteadisposizioneunmetodo: • mostra(), che restituisce un frammento HTML che espone le proprietà dell’automobile. Creare con Bootstrap 1 una semplice struttura HTML a due colonne, che comprendanellacolonnaasinistraiseguentibottoni: • “Crea automobile”, che mostra un modale Ok/Cancella che contiene un formconcampipermodello,urldellafotografiaeprezzogiornaliero,ein seguitoall’Okcreiun’istanzadiAutomobileevengaaggiuntoadunarray globaleautomobili. • “Mostra Stato”, che cancella un apposito div della colonna di destra e vi pone lo stato attuale dell’array automobili chiamando il metodo mostra() di ciascun elemento e mettendo dentro al div suddetto i frammentiHTMLcorrispondenti. 1 Siaggiungailseguentecodicea<head> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css "> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></s cript> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js">< /script> Esercizio6 Sullabasedell’esercizioprecedentecrearealtriduecostruttoriperiseguentitipi dioggetti: • Autonoleggio:èunsingoletto(singleton),ovverounoggettogarantitoin copiaunica.L’autonoleggiohatreproprietàinaccessibili: • il parco macchine, che è una lista di istanze di Automobili, inizialmentevuota • il parco clienti, che è una lista di istanze di Clienti, inizialmente vuota • ilbudget,cheèunnumero. equattrometodi: • mostra(),chechiamaiterativamenteilmetodomostra()dituttele automobilidelparcomacchineedituttiiclientidelparcoclienti,e in più crea un frammento HTML per il budget, e restituisce un frammentoHTMLdituttoquanto. • acquista(Automobile), che inserisce nel parco macchine una Automobileassegnandoleuncodice; • accogli(Cliente),cheinseriscenelparcoclientiunCliente; • noleggia(codice, prezzo), che controlla se l’Automobile con il codice specificato è nel parco macchine e se prezzo è uguale al prezzo giornaliero di quella Automobile, restituendo un errore se ci sono problemi, altrimenti restituisce l’Automobile togliendola dalparcomacchineeaumentandoilbudgetdelprezzospecificato. • restituisci(Automobile), che re-inserisce nel parco macchine l’Automobilepassatacomeparametro. • Cliente: ha come parametri un nome (una stringa) e un portafoglio (un numero). Ha una proprietà inaccessibile, possesso, che può contenere al massimounaAutomobileedèinizialmentevuota.Haiseguentemetodi: • mostra(), che restituisce un frammento HTML che espone le proprietà del Cliente; l’HTML contiene un bottone associato al metodonoleggia()eunoassociatoalmetodorestituisci(). • noleggia(codice,costo),cheverificachenoncisianoautomobiliin possesso, e se è così chiama noleggia() dell’Autosalone con i parametripassati,eincasodisuccessotogliecostodalportafoglio eaggiungel’automobilenellaproprietàpossesso. • restituisci(),cheverificachecisiaun’automobileinpossessoese cosìchiamarestituisci()dell’Autosaloneetogliel’automobiledalla proprietàpossesso. Convertire dalla struttura HTML precedente il bottone “Crea automobile” in “Acquista automobile”, che oltre a mostrare il modale Ok/Cancella, crea un’istanzadiAutomobileechiamailmetodoacquista()dell’Autonoleggio. • Convertire il bottone “Mostra Stato”, che oltre a cancellare il div dell’interfaccia, vi pone lo stato attuale dell’autonoleggio chiamandone il metodomostra(). Siaggiungailseguentepulsante: • “AccogliCliente”,chemostraunmodaleOk/Cancellachecontieneunform con campi per nome e portafoglio, e in seguito all’Ok crei un’istanza di Clienteechiamiilmetodoaccogli()dell’Autonoleggio.