! HTML Formulär! JavaScript! Syntax! Events! DOM. ! URL variabler i en query string (get) ! HTTP post request (post)

Relevanta dokument
JAVASCRIPT. Beteende

JS & beteende. TNMK30 - Elektronisk publicering

PHP. Dynamiska webbsidor

PHP. TNMK30 - Elektronisk publicering

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Innehåll. JavaScript - Grundkurs. Vad är JavaScript? Vad är JavaScript? Vad behövs? Lite historia

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

Introduk+on +ll programmering i JavaScript

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

JavaScript. En Introduktion

JavaScript. DOM Scripting

Lektion 5, del 1, kapitel 12

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner

Laboration 6 Formulär och stränghantering övningar/uppgifter

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Introduktion HTML och PHP 732G16 Databaser design och programmering

Karlstads Universitet, Datavetenskap 1

Labora&on 8 Formulär övningar/uppgi6er

E11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I

Avancerade Webbteknologier

Labora&on 1 Variabler och beräkningar övningar/uppgi9er

Användarhandledning Version 1.2

Lektion 3 HTML, CSS och JavaScript

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

Dynamisk HTML JavaScript och webbläsarens objektmodell

HTML. Introduktion till HyperText Markup Language

Visual Basic, en snabbgenomgång

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Webbprogrammering. Sahand Sadjadee

Lektion 5 HTML, CSS, PHP och MySQL

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

Webbsidor och webbservrar

F8 Webbteknologier 2. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

I den här labben ska vi använda oss av en trevlig nyhet i HTML5: Local Storage, för att implementera en sorts lokal gästbok.

Övningar i JavaScript del 4

Lektion 2 Del 1 Kapitel 6

Exemple på Tentauppgifter Webbprogrammering

Webbprogrammering - 725G54 PHP. Foreläsning II

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Typkonvertering. Java versus C

JavaScript En Introduktion

Dreamweaverskolan, Jump Meny - Formulär - Forms

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

JavaScript del 3 If, Operatorer och Confirm

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

PROGRAMMERING-Java Omtentamina

Föreläsning 3-4 Innehåll

Objektorienterad Programmering (TDDC77)

Kursplanering Utveckling av webbapplikationer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Objektorienterad Programmering (TDDC77)

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

E07 "Greased Lightning"

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

INTRODUKTION TILL ANGULAR JS

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

E12 "Evil is going on"

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

En snabb titt på XML LEKTION 6

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Lite mer om CGI-programmering

729G04 Programmering och diskret matematik. Python 3: Loopar

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Räkna med ASP.NET Web Forms

F06 A table form Dagens agenda

Objektorienterad programmering i Java

Planering Programmering grundkurs HI1024 HT 2014

Tentamen Grundläggande programmering

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

JavaScript in SharePoint and not just for Apps. Wictor Wilén

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Föreläsning 3: Booleans, if, switch

<script src= "

Laboration 3 HTML och struktur samt frågorna A - C övningar/uppgifter

TUTORIAL: KLASSER & OBJEKT

EDA095 JavaScript. Per Andersson. Maj 4, Lund University Per Andersson EDA095 JavaScript Maj 4, / 23

Övningsuppgifter kapitel 8

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Programmeringsteknik I

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Loopar och objekt i JavaScript

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

JavaScript del 9 Dynamik och animeringar

TDIU01 - Programmering i C++, grundkurs

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

Arrayer (fält)

Transkript:

OVERVIEW JAVASCRIPT Beteende! HTML Formulär! JavaScript! Syntax! Events! DOM! Validering av fomulär WEBBPROGRAMMERING PÅ KLIENTSIDAN HTML FORMULÄR! Skriptspråk som körs på klientsidan (klientskript)! Koden exekveras i webbläsaren efter att sidan har skickats från servern! Kontrollera/manipulera en sidas innehåll utan att behöva skicka tillbaka till servern! Svara på actions från användaren som inmatning av text, klick och knapptryckningar client HTTP Request HTTP Response (HTML, CSS, JS) server! Används för att ta emot information från användaren och skickar den till en webbserver! Uppbyggd av en grupp av gränssnittskontroller! T.ex. textfält, checkboxar, radioknappar etc.! Informationen från användaren skickas till servern som! URL variabler i en query string (get)! http://www.google.se/search?q=html+formulär! http://./formular_ex.html?user=namn&pwd=12345! HTTP post request (post) HTML FORMULÄR INPUT KONTROLLEN! Formulärkontroller, text och övriga element placeras inom <form> taggen! Egenskapen action är åtgärden som utförs när formuläret skickas! Den ger webbadressen till den sida som kommer att behandla formulärdata <form action= URL >!!<div>!!!formulärkontroller!!</div>! </form>!! input är det vanligaste formulärelementet! Används för att skapa många kontroller! Inline element och måste öppnas/stängas i samma tag <input />! name attributen definierar namnet på parametern som ska skickas till webbservern! value ger en initial text värde till kontrollen! type anger typ av kontroll! Button, checkbox, color, date, file, hidden, password, radio, reset, search, submit, text, Exempel: js_formular_1

FORMULÄRKONTROLLER JAVASCRIPT <input>! <textarea>! <label>! <fieldset>! <legend>! <select>! <option>! <optgroup>! <button>! <datalist>! <output>! Input kontroll Flera raders textfält Etikett för en input kontroll beskriver vad som ska anges i fältet Gruppera formulärkontroller Anger rubrik till en fieldset Definierar en drop-down lista Definierar ett värde i drop-down listan Grupperar värden i en drop-down lista Klickbar knapp Definierar ett set av förbestämda option element som är tillgängliga för input kontroller Definierar resultatet av en beräkning Exempel: js_formular_2! Skriptspråk: tolkat programmeringsspråk! Exekveras i webbläsare av javascriptsmotor! Används för att göra webbsidor interaktiva! Ändra innehåll och presentation! Validera formulär! Händelsestyrd (event-driven) programmering! Stödjs inte identiskt av alla webbläsare JAVASCRIPT INKLUDERA JAVASCRIPT KOD! Avslappnade syntaxregler! Svagt typat! Variabler behöver inte deklareras! Fel är ofta tysta! Inkluderas i en webbsida och integrerar med sidans HTML/CSS innehåll! Direkt i HTML sidans head eller body innanför script taggar! Bör undvikas! " Separation av innehåll, presentation och beteende!! I separat.js fil och inkluderas via script taggen <script> alert( message"); </script>!! script taggen placeras helst i HTML sidans head! Alternativt längst ner i HTML sidans body! <script src= filnamn.js" type="text/javascript"></script>! Exempel: js_include JAVASCRIPT VARIABLER JAVASCRIPT FUNKTIONER! Deklareras med var!! Kan deklareras implicit genom att tilldela de ett värde! Svagt typade och dynamiskt definierade! Har typer men de behöver inte anges vid deklaration! Typen bestäms eller konverteras beroende på värdet som variabeln tilldelas! 8 huvudtyper:! Number, Boolean, String, Array, Object, Function, Null, Undefined!! Kan ta reda på typen genom typeof operator var namn = John";! var antal = 2;! procent = 0.5;!! Funktioner som i C++ function funktionsnamn( parameter1, parameter2, )! {!!kod som ska evekveras;!!!return värde; /* ej obligatoriskt */! };! var x = mult(4, 3);!! function mult(a, b) {! return a * b;! }!! Funktioner kan också vara anonyma och läggas in direkt i variabler, objekt eller event

JAVASCRIPT OBJEKT JAVASCRIPT SCOPE! Objekt är behållare av värden! Egenskaper! Metoder var namn = {!!attributnamn: värde,!!...,!!metodnamn: function(parametrar) {!!!kod som ska exekveras;!!}!! };! var person = {!!firstname: "Sven",!!lastName: "Svensson",!!age: 40,!!getAge: function() {return this.age;}! };! Exempel: js_syntax! Set av variabler, objekt, funktioner som jag kan nå! Lokala variabler nås enbart inuti funktioner! Globala variabler nås från var som helst i JS koden! Variabler deklarerade utanför funktioner blir global! Nås även från kod i andra.js filer! Obs! om samma variabelnamn " variabeln skrivs över var a = 3; //global variabel function test() {!!a = 2*2;! b = 6; // implicit deklaration (variabeln har inte deklarerats med var) var c = 2; //lokal variabel // inuti funktionen: a=4, b=6, c=2 } test();! // utanför funktionen: a=4, b=6, c=undefined Exempel: js_scope HÄNDELSESTYRD PROGRAMMERING! JavaScript program svarar på actions från användaren (event-driven)! Ingen main!! Events! Sidan har laddats färdigt! musklick, tangenttryck etc.! Kommentarer! // kommentar! /* kommentar */!! Skriva ut i konsol! Bra vid debugging & inspektera koden var namn = "John";! console.log(namn);!! console.log("john");!! String! "" eller ''! Metoder: charat, indexof, replace, split, substring, capitalize, tolowercase,! Egenskaper: length!! Concatenate med + : 2+1= 3 MEN "2"+1="21"!! Escape med \ : "Han heter \"John\""!! Nästla med '""': 'Han heter "John"!! Konvertera till sträng med: "" eller ''! Number! Samma typ för heltal (int) och reella tal (double)! Operatorer: +, -, *, /, %, +=, -=, *=, /=, %=!! Konvertera med: parseint, parsefloat!! Math objektet ger tillgång till matematiska metoder och egenskaper! min, max, abs, random, ceil, sqrt,! PI, E!

! Boolean! true, false!! Falska värden: 0, 0.0, NaN, "", null, undefined!! Logiska operatorer! >, <, >=, <=, &&,,!, ==,!= (~ samma som i C++)! Konverterar till rätt typ vid jämförelser! 3.0 == 3 " true! 4.5 >= 3 " true! ===,!== : strikta operatorer! Konverterar ej typen, kolla både typ och värde av variabler! 3.0 === 3 " false! Många satser och loopar samma som i C++! if/else satser! for loopar! while, do/while loopar! break och continue!! Arrays! initieras på 2 sätt var minarray1 = ["element1", "element2", "element3"];! //eller var minarray2 = [];! minarray2[0] = "el1";! minarray2[3] = "el2";! minarray2[5] = "el3";! Exempel: js_functions HÄNDELSESTYRD PROGRAMMERING HÄNDELSESTYRD PROGRAMMERING! JavaScript program svarar på HTML event! HTML element kan inkludera JavaScript funktioner som event hanterare (event handlers) <html-element event= function(); >...</html-element>! Exempel på event! onload: webbsidan är färdigladdad! onclick: HTML element klickas! onmouseover: mus över elementet! onsubmit: när <submit> knapp klickas Lista över HTML event: http://www.w3schools.com/jsref/dom_obj_event.asp 1. Givet ett html element (t.ex. knapp) <button> Tryck här! </button>! 2. och en matchande event (t.ex mus-klick) onclick! 3. Skriv en funktion som ska exekveras när knappen trycks function knapptryck() {! alert("hej!");! alert("vad heter du?");! }! 4. Länka funktionen till event och knapp <button onclick="knapptryck();"> Tryck här! </button>! Exempel: http://jsfiddle.net/tnmk30/9zkmjxhv/ DOM DOM! Document Object Model! Uppsättningen av JavaScript (JS) objekt som representerar innehållet (div, p, h etc.) för en HTML sida! En DOM objekt per HTML element! Via JS kod kan man interagera med DOM objekt och dynamiskt ändra på HTML element! Byta utseende, status, innehåll <head>! <title>! Text: titel document! <html>! <h1>! <body>! <p>! <div>! <a>! Text: innehåll Attribut: href! Text: länktext

ACCESS DOM OBJEKT DOM OBJEKT EGENSKAPER! document objektet representerar hela html dokumentet och används för att komma åt alla andra DOM objekt.! Åtkomst DOM objekt via HTML elementens id attribut <button id="mybtn" onclick="knapptryck(); >Tryck mig</button>!! getelementbyid metoden accepterar en id sträng och returnerar motsvarande DOM objekt eller null!! DOM objektets attribut kan sedan manipuleras via objectnamn.attributnamn var button_obj = document.getelementbyid("mybtn");! button_obj.innerhtml = "Tack! ;! Exempel: http://jsfiddle.net/tnmk30/lwmkl3lh/! Text innehåll kan hämtas/ändras oftast med! innerhtml: ändrar text eller HTML taggar i DOM noder! value: ändrar värden i widgets (t.ex. textfält)! Vanliga egenskaper! tagname: Elementets HTML tagg! classname: Elementets CSS klass! innerhtml: Elementets Innehåll! src: URL adressen av en bild <button id="mybtn" onclick="bytknapptext();"> Tryck mig </button>! FIXA STILEN MED DOM VALIDERA FORMULÄRDATA! style egenskapen gör att man kan ändra på CSS regler för ett element! Innehåller alla attribut som finns i CSS! Attribut namnen är samma men istället för gemener och bindestreck (-) skrivs namnen ihop med kamelnotation:! background-color " backgroundcolor! font-family " fontfamily! Värdena som ska tilldelas skrivs som strängar! Enheter angivs som i CSS Exempel: js_events! Använd JavaScript för att validera den information som användaren har matat in i en formulär! Skriv en funktion som körs när <submit> knappen trycks och onsubmit händelsen anropas! Funktionen borde kontrollera om de inmatade värdena har rätt typ och format och returnera true/false!! Bara om true ska informationen skicka till webbservern Exempel: js_validering ATT TÄNKA PÅ: JAVASCRIPT ATT TÄNKA PÅ: JAVASCRIPT! Vissa har JavaScript avaktiverat på sina webbläsare! Använd inte JavaScript till sånt som är viktigt! Använd noscript element för att bestämma innehåll som kommer att visas i det här fallet! Sidan borde vara användbar även utan JavaScript! Separera mellan! Innehåll " HTML! Presentation " CSS! Beteende " JavaScript! Deklarera alltid variabler explicit med var! Kolla om en variabel har ett värde eller är undefined innan du använder den! Använd semikolon även fast det funkar utan

LÄNKAR TILL MATERIAL/LÄSNING! HTML formulärtaggar: http://www.w3schools.com/html/html_forms.asp! W3schools JavaScript tutorial: http://www.w3schools.com/js/default.asp! W3schools JavaScript exempel: http://www.w3schools.com/js/js_examples.asp! HTML DOM event: http://www.w3schools.com/jsref/ dom_obj_event.asp! HTML DOM objekt egenskaper och metoder: http://www.w3schools.com/jsref/dom_obj_all.asp På måndag skickar vi data! TP1 kl. 09:15