JS & beteende. TNMK30 - Elektronisk publicering

Relevanta dokument
JAVASCRIPT. Beteende

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

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

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

PHP. TNMK30 - Elektronisk publicering

PHP. Dynamiska webbsidor

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

Lektion 5, del 1, kapitel 12

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

JavaScript. En Introduktion

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

Introduk+on +ll programmering i JavaScript

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

Karlstads Universitet, Datavetenskap 1

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

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

Användarhandledning Version 1.2

Lektion 3 HTML, CSS och JavaScript

JavaScript. DOM Scripting

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

Labora&on 8 Formulär övningar/uppgi6er

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

Lektion 5 HTML, CSS, PHP och MySQL

JavaScript En Introduktion

Introduktion HTML och PHP 732G16 Databaser design och programmering

Visual Basic, en snabbgenomgång

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?

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

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

HTML. Introduktion till HyperText Markup Language

Avancerade Webbteknologier

Typkonvertering. Java versus C

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

Dynamisk HTML JavaScript och webbläsarens objektmodell

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

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. Programmering. Programspråk

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

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

Objektorienterad Programmering (TDDC77)

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

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

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

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

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.

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

Övningar i JavaScript del 4

TDIU01 - Programmering i C++, grundkurs

729G04 Programmering och diskret matematik. Python 3: Loopar

Föreläsning 3-4 Innehåll

F4. programmeringsteknik och Matlab

JavaScript del 3 If, Operatorer och Confirm

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

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Exemple på Tentauppgifter Webbprogrammering

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

Lektion 2 Del 1 Kapitel 6

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Webbprogrammering. Sahand Sadjadee

Elektronisk publicering TNMK30

Webbprogrammering - 725G54 PHP. Foreläsning II

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

Webbsidor och webbservrar

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.

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

PROGRAMMERING-Java Omtentamina

TDIU01 - Programmering i C++, grundkurs

INTRODUKTION TILL ANGULAR JS

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

Dreamweaverskolan, Jump Meny - Formulär - Forms

[] Arrayer = Indexerad variabel

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Objektorienterad programmering i Java

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

Introduktion till Jasmine 1.2 ODQL

Frekvenstabell över tärningskast med C#

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

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

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Programmeringsteknik I

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

SMD 134 Objektorienterad programmering

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

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

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

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

Loopar och objekt i JavaScript

Tentamen Grundläggande programmering

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

F06 A table form Dagens agenda

Imperativ programmering. Föreläsning 2

Föreläsning 4 Serverskript PHP Validering av data med serverskript Formulär

Frekvenstabell över tärningskast med C#

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Planering Programmering grundkurs HI1024 HT 2014

Transkript:

JS & beteende TNMK30 - Elektronisk publicering

Dagens föreläsning HTML Formulär JavaScript Syntax Events DOM Validering av fomulär

JavaScript 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.

HTML-formulär 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 post request (post)

HTML-formulär Formulärkontroller, text och övriga element placeras inom <form> taggen. Egenskapen action är åtgärden som utförs när formuläret skickas. action ger webbadressen till den sida som kommer att behandla formulärdata. <form action= URL > <div> Formulärkontroller </div> </form>

1js_formular Input-kontroll input är det vanligaste formulärelementet: Används för att skapa många kontroller. Inlineelement och måste öppnas/stängas i samma tag <input /> name attributen definierar namnet på parametern som ska skickas till webbservern. value ger ett initialt textvärde till kontrollen.

Input-kontroll type anger typ av kontroll button, checkbox, color, date, file, hidden, password, radio, reset, search, submit, text,

2js_formular Formulärkontroller <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

JavaScript TNMK30 - Elektronisk publicering

JavaScript 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.

4js_include Inkludera JS i HTML Direkt i HTML-dokumentets <head> eller <body> i scripttaggar. <script> alert( message"); </script> Undvik, och separera innehåll, presentation och beteende. Använd separat.js fil och inkludera med script-tagg: script-taggen placeras i HTML-dokumentets <head>. (alternativt sist i HTML-dokumentets <body>. <script src= mittjavascript.js type="text/javascript"></script>

Variabler Deklareras med var. Kan deklareras implicit genom att tilldelas 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.

Variabler 8 huvudtyper: Number, Boolean, String, Array, Object, Function, Null, Undefined Kan ta reda på typen genom typeof operator. var username = John"; var numofusers = 2; lightlevel = 0.5;

Variabler Namnge variablerna smart, underlätta kodning och felsökning. Undvik därför x, y, och temp Undvik JS-keywords som: default, case, else, function, return, Kan innehålla alla tecken enligt Unicode. Är case sensitive. Kan innehålla siffror, men får inte börja på siffra.

Variabler Globala variabler deklareras utanför funktionen. Lokala variabler deklareras i funktionen. Variabler som inte deklareras med var blir automatiskt globala.

Funktioner function funktionsnamn(parameter1, ){ kod som ska exekveras; return värde; /* ej obligatoriskt */ } function calcmulti(firstnr, secondnr){ var calculatednr = firstnr * secondnr; return calculatednr; } function calcmulti(firstnr, secondnr){ return firstnr * secondnr; }

Funktioner Funktioner kan också vara anonyma och läggas in direkt i variabler, objekt eller event. var myfunction = usefulfunction(){};

Objekt Objekt är behållare av värden Metoder, name = person.fullname(); Egenskaper, name = person.fullname; var namn = { attributnamn: värde,..., metodnamn: function(parametrar) { var person = { } firstname: "Gustav", }; lastname: "Stefanson", age: 50, getage: function() {return this.age;} }; kod som ska exekveras;

5js_variabler JavaScript - variabler Set av variabler, objekt, funktioner som går att nå: Lokala variabler är enbart åtkomliga i funktionen Globala variabler är åtkomliga från var som helst i JS koden Variabler deklarerade utanför funktioner blir globala Nås även från kod i andra.js filer!globala variabler

6js_onload Händelsestyrd programmering JavaScript svarar på actions från användaren (eventdriven). Ingen main Events Sidan har laddats färdigt (onload). Input som musklick, tangenttryck, etc.

JavaScript - kommentarer Kommentarer //kommentar /*kommentar över flera rader*/

Skriva ut Skriva ut i konsol var namn = Niklas ; console.log(namn); console.log( Niklas ); Skriva ut i fönster var namn = Niklas ; alert(namn); alert( Niklas ); Bra vid debugging & inspektera koden.

7js_strings Strängar "sträng" eller 'sträng' Metoder: charat, indexof, replace, split, substring, capitalize, tolowercase, Egenskaper: length Konkatenera med +: 2+1=3 & "2"+1="21" Escape med \ : "Han heter \"John\"" Nästla med '""': 'Han heter "John"' Konvertera till sträng med: "21" eller '21'

Nummer och matematik 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

JavaScript syntax Boolean: true, false Falska värden: 0, 0.0, NaN, "", null, undefined

Logiska operatorer >, <, >=, <=, &&,,!, ==,!= Konverterar till rätt typ vid jämförelser 3.0 == 3 -> true 4.5 >= 3 -> true Strikta operatorer: ===,!==. Konverterar ej typen, kollar både typ och värde av variabler: 3.0 === 3 -> false

if-satser if/else satser if (villkor1) { gör; } else if (villkor2) { gör; } else { gör; }

JavaScript-loopar for loopar while, do/while loopar break och continue for (statement 1; statement 2; statement 3) { code block to be executed } while (condition) { code block to be executed do { } code block to be executed } while (condition);

Arrayer Initieras på två sätt: var minarray1 = ["element1", "element2", "element3"]; var minarray2 = []; minarray2[0] = "el1"; minarray2[1] = "el2"; minarray2[2] = el3";.length Associativa arrayer (annat än numeriska index)

Händelsestyrd programmering TNMK30 - Elektronisk publicering

8js_events Händelsestyrd programmering Ett HTML-element (som en knapp): <button>tryck här!</button> Och ett matchande event (t.ex mus-klick): onclick En funktion som körs vid knapptrycket: function knapptryck(){ alert( Klick! ); } Länka funktionen till event och knapp: <button onclick= knapptryck(); >Tryck här!</button>

Document Object Model Uppsättningen av JavaScript-objekt som representerar innehållet (div, p, h etc.) för ett HTML-dokument. Ett DOM-objekt per HTML-element. Via JS kan man interagera med DOM-objekt och dynamiskt ändra på HTML-element. Byta utseende, status, innehåll.

9js_dom Använda DOM-objekt document-objektet representerar hela HTML-dokumentet och används för att komma åt alla andra DOM-objekt. Åtkomst av DOM-objekt via HTML-elementens idattribut. getelementbyid-metoden accepterar en id-sträng och returnerar motsvarande DOM-objekt eller null. DOM-objektets attribut kan sedan manipuleras via objectnamn.attributnamn.

Använda DOM-objekt HTML JS <div id="fyrkant" onclick="changecolor(this.id)"></div> document.getelementbyid("fyrkant").style.backgroundcolor = "#ff7d00"; document.getelementbyid("fyrkant").textcontent = 0;

DOM-objekt egenskaper Text innehåll kan hämtas/ändras med: - innerhtml: ändrar text eller HTML-taggar i DOMnoder - 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

Förändra CSS style egenskapen gör att man kan ändra på CSS-regler för ett element. Innehåller alla attribut som finns i CSS. Attributnamnen ä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.

3js_validering Validera formulärdata JavaScript kan/bör användas för att validera information som matats in i ett formulär. Exempelvis genom en valideringsfunktion som anropas via onsubmit. Funktionen bör kontrollera om de inmatade värdena är av rätt typ och med rätt format, och sedan returnera true/ false. Endast om true ska informationen skicka till webbservern.

JavaScript - att tänka på 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 om JavaScript inte funkar. Sidan bör vara användbar även utan JavaScript.

JavaScript - att tänka på 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 om 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