![]() |
Studiewijzer |
|---|---|
|
InleidingJavaScript is een scripttaal. Een script is een programma dat opgenomen is binnen een html-document. Met JavaScript kun je scripts programmeren. JavaScript biedt mogelijkheden die html niet heeft. Met JavaScript kun je bijvoorbeeld berekeningen maken in formulieren. Je kunt in een bestelformulier het totaal van de bestelde artikelen optellen of controleren of bepaalde velden binnen een formulier wel ingevuld zijn door de bezoeker. Verder kan je interactie programmeren naar aanleiding van bepaalde handelingen van een bezoeker. JavaScript is een uitbreiding van html net als CSS. Zoals je CSS kunt gebruiken om bepaalde opmaak toe te voegen aan een html-pagina, zo gebruik je JavaScript om dynamische effecten en interactiviteit toe te voegen. JavaScript is een scripttaal die je gebruikt aan de cliëntkant van WWW. De taal is niet geschikt voor het maken van programma’s op de server. Hiervoor gebruik je PHP of ASP. Je kunt net als bij css een script in een extern bestand plaatsen en dan koppelen aan een html-bestand. een extern Javascript-bestand heeft de extentie .js.
Doel van deze trainingIn deze training leer je de basisprincipes van scripten. Je zult merken dat in veel scripttalen dezelfde principes gebruiken zoals werken met variabelen, voorwaardelijke statements, enz. Verder leer je hoe je met behulp van Javascript kunt werken met de elementen van een html-pagina. In het laatste hoofdstuk maak je kennis met jQuery. Hoe is de training opgebouwd?Deze training bestaat uit 7 hoofdstukken:
Hoe maak je deze training?Elke hoofdstuk bestaat uit theorie afgewisseld met oefeningen. Lees steeds de tekst door en maak deze oefeningen. Wanneer je een hoofdstuk hebt doorgewerkt, maak je de opdracht die bij dit hoofdstuk hoort. deze opdrachten moet je inleveren. Maak hiervoor een index-pagina met een link naar de verschillende opdrachten. lever het geheel in als .zip bestand. Hoe lang ben je er mee bezig?Deze training heeft studiebelasting van 40 uur. Wat moet je kunnen/ kennen/ bewijzen aan het eind van deze training?Om deze training af te sluiten moet je alle eindopdracht inleveren. Waar kun je meer informatie vinden over het onderwerp?Er zijn erg veel tutorials op Internet de vinden. Een paar voorbeelden: |
![]() |
Introductie scripten |
| JavaScript en htmlprogramma’s en scriptsjQuery Objectgeoriënteerde talen Syntaxis De eerste scripts Objecten, eigenschappen en functies Events |
JavaScript en htmlJavaScript is een taal die je kunt gebruiken om de functionaliteit van webpagina’s uit te breiden. Het is een aanvulling op html. Een script maakt altijd deel uit van een webpagina en is ook in de html-broncode opgenomen. Een script wordt door de browser, net als de overige html-code regel voor regel afgewerkt, in de volgorde waarin ze getypt zijn. Je kunt meerdere scripts opnemen in één html-document. Een html-document waarin je gebruikt maakt van JavaScript wordt, net als alle andere html-documenten, getypt in het programma Kladblok. Dreamweaver is behalve een html-editor ook een JavaScript-editor. Verder zijn op internet verschillende editors beschikbaar om te programmeren in JavaScript. In deze module wordt hier niet verder op ingegaan. Het verschil tussen programma’s en scriptsJavaScript is een scripttaal en geen programmeertaal. Er zijn grote verschillen tussen scripttalen en programmeertalen:
jQueryjQuery is een zeer grote javascript functies Bibliotheek. Het includen van jQuery op je website is in feite dan ook niets anders als het includen van een groot aantal handige functies die geschreven zijn in JavaScript en die je kunt gaan gebruiken. Om goed te kunnen werken met jQuery is het handig dat je iets weet van JavaScript. Objectgeoriënteerde talenJavaScript is een object-gebaseerde scripttaal. Bij een objectgeoriënteerde programmeertaal wordt alle elementen gezien als een object. Bijvoorbeeld een knop is een object met bepaalde eigenschappen bijvoorbeeld een opschrift, grootte of kleur. Het object kan overal in het programma gebruikt worden, waarbij je de eigenschappen kunt laten veranderen wanneer een gebruiker bepaalde handelingen verricht. JavaScript benadert alle elementen in een html-document als object. Voorbeelden van de objecten in JavaScript zijn het document, een tabel, een formulier of een formulierveld.
SyntaxisJavaScript heeft net als elke andere taal een syntaxis. Elke regel met code moet voldoen aan vaste taalregels. Elke punt, komma, spatie of ander teken heeft een betekenis. Zodra je een (typ)fout hebt gemaakt, geeft het script een foutmelding. JavaScript is hierin strenger dan html. In html kun je nog wel bepaalde eindtags vergeten of hoofdletters en kleine letters door elkaar gebruiken. JavaScript staat dit niet toe! De taal is hoofdlettergevoelig. Alle scripts moet je testen in Firefox en in Internet Explorer om te kijken of in de browsers het juiste resultaat bereikt wordt. DebuggersIn browsers zijn debuggers ingebouwd. Debuggers zijn programma’s die helpen om fouten in het script op te sporen. Wanneer een fout script ingelezen wordt in Internet Explorer, verschijnt een venster met een waarschuwing. Wanneer je bevestigt dat je de fout wilt opsporen, wordt de debugger gestart. In het programma wordt de broncode van het document weergegeven. Hierbij wordt gebruikt gemaakt van verschillende kleuren voor verschillende elementen in het document. De regel waarop het script vastloopt is meestal gemarkeerd. Dit wil niet altijd zeggen dat de fout (=bug) ook in deze regel is gemaakt. De fout kan worden veroorzaakt in eerdere delen van het script. Bedenk wel: de meeste fouten die je maakt, zijn net als bij html, typefouten!!
De eerste scriptsEen script moet geplaatst worden tussen de html-tag <script> </script>. Binnen deze tags kun je JavaScript opdrachten en html-tags plaatsen. De tag <script> heeft een tweetal attributen: language=”JavaScript” src=”bestand.js” Met language=”JavaScript” geef je aan in welke taal het script is geschreven. Het attribuut src=”bestand.js” gebruik je wanneer je het script opslaat in een apart bestand. Dit kan je vergelijken met het gebruik van een extern stijlblad. Je moet rekening houden met dat scripts geblokkeerd kunnen worden. .De browser herkent dan de JavaScript tags niet en zal alle tekst tussen de tags niet als JavaScript gebruiken, maar gewoon exact hetzelfde op het scherm tonen. Om dit op te lossen gebruik je de html commentaar tags: <!-- en //-->.
Oefening:
Het grootste deel van de listing is een gewoon html-document. Alleen het deel tussen de tags <script>… </script> is een script. Ook in dit deel zijn html-tags gebuikt voor commentaar. De regel document.write ("dit is JavaScript!"); is in de listing eigenlijk de enige opdracht in JavaScript. Met de opdracht document.write wordt de tekst die er achter tussen haakjes en aanhalingstekens is geplaatst, op het scherm getoond. Elke regel JavaScript wordt een statement genoemd. Een statement binnen een script wordt afgesloten met een puntkomma (;). In de regel voor het einde van het script is een dubbele slash (//) geplaatst. Dit zijn de tekens die je gebruikt om commentaar te geven binnen een JavaScript. De regel achter // is niet zichtbaar voor de bezoeker. Wil je binnen het script meerdere regels commentaar plaatsen, dan gebruik je de codes /* aan het begin van de commentaarregels en de codes */ om het commentaar af te sluiten. Het scheelt een hoop werk, wanneer je het bestand standaard.html, dat je hebt gebruikt in de training html, aanpast voor het gebruik van JavaScript. Oefening:
.
Objecten, eigenschappen en functiesDe regel document.write('Welkom op mijn eerste pagina met een JavaScript’); is een voorbeeld van het gebruik van objecten in JavaScript. Het object document is de hele inhoud van het browservenster. Het venster zelf is ook een object. Dit object wordt window genoemd. Elk object heeft bepaalde eigenschappen. Een eigenschap wordt meestal een propertie genoemd. Een eigenschap van het object document is bijvoorbeeld de achtergrondkleur (document.bgcolor). Een eigenschap van het object window is de statusbalk (window.statusbar). Met objecten kun je bepaalde handelingen verrichten. Je kunt bijvoorbeeld tekst in het object document schrijven. Hiervoor is de methode (methode of functie) document.write() beschikbaar. Een functie is een stukje kant-en-klaar programmatuur waarin een aantal opdrachten zijn ondergebracht. Het aanroepen van de functie heeft tot gevolg dat deze opdrachten worden uitgevoerd. Wanneer een functie speciaal ontwikkeld is om bepaalde handelingen te verrichten met een object, dan wordt de functie een methode genoemd. Het object en de eigenschappen of methodes worden gescheiden door een punt. Achter een methode staan altijd haakjes. Hieraan kun je het verschil zien tussen een methode en een propertie. Binnen de haakjes kunnen de argumenten van de methode geplaatst worden. In het voorbeeld is het argument: 'Welkom op mijn eerste pagina met een JavaScript’ Omdat het argument in het voorbeeld een letterlijke tekst is, moet het tussen aanhalingstekens geplaatst worden. Je kunt aan een methode meerdere argumenten koppelen. De volgende regel is hier een voorbeeld van. document.write('<H2>Deze pagina is opgeslagen op de volgende locatie:</H2>' + document.location ); Het object document kent meerdere methodes en meerdere eigenschappen. Een ander voorbeeld van een eigenschap van het object document is location. Het geeft de URL aan van het document. Met andere woorden: Het object document heeft een eigenschap location, waarin de locatie van het huidige document is opgeslagen.
EventsNiet alle JavaScript-opdrachten worden tussen de tags <script></script> geplaatst. De onderstaande listing geeft hier een voorbeeld van. <html> De functie alert() toont een venster. De functie wordt pas uitgevoerd nadat de bezoeker op de knop heeft gedrukt. Het klikken op een knop is een event (=gebeurtenis). onClick() wordt een eventhandler genoemd. De argumenten van deze eventhandler staan tussen de haakjes. De eventhandler onClick() kan alleen gebruikt worden wanneer de bezoeker ook ergens op kan klikken. Aanklikbare objecten in een html-document zijn knoppen en hyperlinks. Deze eventhandler kan hierdoor alleen gebruikt worden in combinatie met de html-tags voor knoppen en hyperlinks. De algemene schrijfwijze voor eventhandlers is: <tag eventhandler =’JavaScriptcode’> JavaScript kent meer eventhandlers. Deze worden in een apart hoofdstuk verder behandeld. Oefening:
|
![]() |
Statements en variabelen |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
InleidingEen script kan opgebouwd worden uit verschillende elementen. In dit hoofdstuk maak je kennis met de elementen statements, variabelen en operatoren. StatementsElk script is opgebouwd uit één of meer statements. Elk statement bevat een afgeronde opdracht. Een statement kan bijvoorbeeld een methode oproepen van een object of een waarde toekennen aan een variabele. Een statement kan bestaan uit meerdere tekstregels. Met een puntkomma wordt een statement afgesloten. Wanneer je de puntkomma vergeet, geeft de browser dit niet aan als fout. Toch is het aan te bevelen om deze puntkomma wel te gebruiken, omdat je het script dan beter kunt lezen. In een statement wordt onderscheid gemaakt tussen hoofdletters en kleine letters. Dit geldt zeker voor de gereserveerde woorden (keywords) van JavaScript. Keywords zijn woorden die JavaScript voor een bepaald doel gebruikt. VariabelenEen variabele is een geheugenplaats waar je een bepaald gegeven in op kunt slaan die je later in het script kunt gebruiken. Een variabele heeft een naam en een bepaalde inhoud. De waarde van een variabele kan door bepaalde statements veranderen, de naam van de variabele blijft hetzelfde. Bij veel programmeertalen is het voorschrift dat een variabele eerst wordt gedeclareerd, voordat de variabele gebruikt wordt. Een variabele declareren betekent dat je een bepaalde geheugenruimte reserveert door er een (variabele)naam aan toe te kennen en hier een waarde aankoppelt. Bij JavaScript is dit niet noodzakelijk. Variabelen worden gecreëerd op het moment dat er een waarde aan een nieuwe naam wordt toegekend. Het is wel een goede gewoonte om een variabele eerst te declareren. De naam van een variabeleDe naam van een variabele wordt ook wel een identifier genoemd. Dit woord wordt ook gebruikt in de foutmeldingsvensters van de interpreter. Je bent vrij om een naam voor een variabel te kiezen, zolang je rekening houdt met de volgende regels:
Kies altijd een logische naam voor een variabele. Wanneer je later het script leest zegt de naam adres meer over de inhoud van de variabele dan de naam a. Variabelen declarerenMet het keyword var kun je een variabele declareren. In het volgende statement wordt een geheugenplaats gereserveerd voor een variabele met de naam test. De varabele heeft nog geen waarde. var test; Je kunt een waarde toekennen aan een variabele met de operator “=”. var test = ”Dit is en test”; Je kunt verschillende typen gegevens toekennen aan variabelen:
Wanneer een variabele is gedeclareerd, kan de variabele overal in het script gebruikt worden. In het onderstaande voorbeeld worden vier variabelen gedeclareerd en gebruikt in een tekst dat op het scherm verschijnt.
Oefening:
Waarden toekennen met behulp van invoer-schermenJe kunt de waarde van een variabele ook laten toewijzen door de bezoeker van een pagina. Hiervoor moet je zorgen dat een invulvenster verschijnt, waarin de bezoeker een waarde op kan geven. In het onderstaande script zorgt de functie prompt() voor een invoervenster waarin de bezoeker een string in kan typen. De ingevoerde waarde wordt toegekend aan de variabelennaam. De functie heeft twee argumenten. Het eerste argument is de melding die in het venster verschijnt, het tweede argument bepaald de standaardwaarde van het invoerveld. Wanneer een bezoeker niets invult, wordt de standaardwaarde aan de variabele toegekend.
Dat de waarde die ingevoerd wordt een string is, bewijst het volgende script:
Wanneer dit script wordt uitgevoerd, is het volgende resultaat te zien in de browser: Het eerste getal dat je invoerde was: 34 De getallen zijn niet opgeteld, maar achter elkaar “geplakt“. Met strings kun je namelijk niet rekenen. JavaScript kent de functie parseFloat() om een string om te zetten in een numerieke waarde. Wanneer je de invoer van een gebruiker wilt omzetten om hier een berekening mee uit te voeren, moet je deze functie gebruiken:
Oefening:
OperatorenIn de vorige alinea heb je kennis gemaakt met drie verschillende operatoren om een waarde toe te kennen aan variabelen: =, - en +. JavaScript kent nog vele andere operatoren. Deze operatoren zijn onder te verdelen in verschillende groepen. Alleen de meest gebruikte operatoren worden in deze module besproken.
ToewijzingsoperatorenToewijzingsoperatoren worden gebruikt om rechtstreeks een waarde toe te kennen aan een variabele. In de onderstaande regels verandert de waarde van A steeds:
Wiskundige operatorenMet wiskundige operatoren kun je berekeningen uitvoeren op variabelen.
Logische operatorenLogische operatoren worden gebruikt bij booleaanse expressies. Deze zijn behandeld in de module Access. Ze kijken of een bepaalde expressie WAAR of ONWAAR is. Een logische operator wordt meestal gebruikt in combinatie met een vergelijkingsoperator. Een voorbeeld met logische en vergelijkingsoperatoren is: Var uitkomst= Woonplaats ==‘Amsterdam‘||woonplaats == “Den Haag” Deze zin kun je lezen als:
Volgorde bewerkingenWanneer je meerdere operatoren in één statement gebruikt, worden de verschillende operatoren in een bepaalde volgorde verwerkt. Var uitkomst= 2 + 4 * 25 / 5 De volgorde waarop de interpreter de operatoren afwerkt is:
Wanneer in een statement meerdere operatoren worden gebruikt die gelijkwaardig zijn, worden de operatoren van links naar rechts afgewerkt. Oefening:
|
![]() |
Functies en voorwaardelijke statements |
FunctiesIn een script maak je vaak gebruik van functies. In een functie is een aantal opdrachten samengebracht die worden opgeslagen onder één naam. Wanneer je in het script functie aanroept (= de naam van de functie gebruikt), worden de opdrachten van de functie uitgevoerd. Je kunt functies beschouwen als kleine programma's binnen het script. Elke functie heeft een naam. Voor de namen van de functies gelden dezelfde regels als voor variabelen. In een functie kun je gebruik maken van argumenten of parameters. Deze worden tussen haakjes achter de naam van de functie geplaatst. Het gebruik van parameters is niet verplicht, de haakjes wel. De parameters worden door een komma van elkaar gescheiden. Zo heeft de functie prompt() twee parameters. De eerste parameter is de tekst in het venster, de tweede parameter geeft de standaardwaarde van het tekstveld in het venster. Bijvoorbeeld: prompt ('Typ je naam', 'bezoeker')
Functies definiërenJe kunt ook zelf functies definiëren. Je maakt zelf een functie wanneer je een bepaalde taak in een script vaker wilt gebruiken. Bijvoorbeeld:
Dit script zal als resultaat 3 keer de tekst "Welkom op mijn site. Ik hoop dat u vaker terug komt!" weergeven op het scherm. Dit is drie keer exact hetzelfde. Voor dit soort opdrachten kun je in JavaScript een functie definiëren. Een functie wordt gedefinieerd met het keyword function. Het statement waarin je de functie definieert, heeft de volgende opbouw:
Alle opdrachten die je wilt laten uitvoeren wanneer je de functie aanroept, staan tussen accolades. Dit deel wordt de body van de functie genoemd. Voorbeeld van een script met een functie:
Een functie definieer je meestal in een script dat geplaatst is in de kop van het html-document, dus tussen de tag <head> </head>. Hierdoor wordt de functie als eerste ingelezen en is ze bereikbaar voor alle scripts die verder in de webpagina voorkomen. In het bovenstaande voorbeeld wordt in de kop van het document de functie welkom gedefinieerd. De functie heeft geen argumenten want er is niets tussen de haakjes geplaatst. In de body van de functie is tweemaal de functie document.write geplaatst met verschillende parameters. Je kunt dus in een functie andere functies gebruiken. Andere taken die je kunt laten uitvoeren in een script zijn onder andere vergelijkingen uitvoeren, variabelen declareren of expressies evalueren. Voorbeelden van functiesEen voorbeeld van een functie waarbij wel gebruikt gemaakt wordt van parameters:
Een voorbeeld van een functie waarin variabelen gedeclareerd worden:
Voorwaardelijke statements met if()In de meeste statements die je tot nu toe hebt gebruikt, heb je een bepaalde variabele gedeclareerd. Je kunt in een statement ook een voorwaarde inbouwen die bepaalt welke statements wel of niet worden uitgevoerd of hoe vaak een statement wordt uitgevoerd. In deze voorwaardelijke statements wordt een vergelijking gemaakt. Wanneer de uitkomst van de vergelijking waar is wordt een andere regel van het script uitgevoerd dan wanneer de uitkomst niet waar is. Een voorbeeld in gewone spreektaal is de regel: Als het niet regent, ga ik met de fiets, anders met de tram. In JavaScript kan je van deze regel de volgende statement maken: In de eerste regel van het statement staat de expressie: als de variabele weer ongelijk is aan regen. Wanneer deze expressie de uitkomst WAAR (TRUE) heeft, worden de programmaregels tussen de eerste accolades uitgevoerd. Binnen de accolades kun je zoveel statements plaatsen als dat je zelf wilt. Wanneer de expressie in de eerste regel ONWAAR (FALSE) is, dan worden de regels tussen de accolades na het woord else uitgevoerd. Het gebruik van het keyword else is niet verplicht. Wanneer je alleen if() gebruikt en er wordt niet voldaan aan de voorwaarde, dan gaat JavaScript verder met de uitvoering van de eerst volgende regel na het if-statement.
In de eerste regel van het script wordt de bezoeker om een naam gevraagd. De variabele naam krijgt de waarde van de invoer. In het eerste if-statement wordt er gekeken of de bezoeker wel een naam heeft ingevuld (naam==("")). Wanneer dat het geval is, wordt aan de variabele de waarde anoniem toegekend. Wanneer de vergelijking niet waar is, dan gaat JavaScript gewoon verder met het volgende statement. Er is geen else gebruikt. In het tweede if-statement is er wel een else gebruikt. Wanneer de vergelijking naam=="anoniem" waar is komt de tekst Jammer dat u geen naam niet wilt opgeven! op het scherm. Wanneer de bezoeker wel een naam heeft ingevuld, worden de regels na het keyword else uitgevoerd.
Voorwaardelijke statements met while()In een script kan het noodzakelijk zijn dat bepaalde statements een aantal malen herhaald worden. Een deel van het script dat steeds herhaald wordt, wordt een programmalus genoemd. Je gebruikt een voorwaarde om te bepalen hoe vaak de regels herhaald moeten worden. while (voorwaarde==true) Je kunt dit vergelijken met de gewone zin: Zolang het nog regent ga ik met de tram. Voorbeeld met het statement while():
Het script begint met statements waarin de variabelen lus en getal worden gedefinieerd. De waarde van getal is het getal waarvan je de tafel wilt tonen. De variabele lus is de teller. De beginwaarde van lus is 1. In de regel while (lus<=10) wordt er gekeken of de waarde van de variabele lus kleiner of gelijk is aan 10. Wanneer dit het geval is, worden de regels tussen de accolades uitgevoerd. In het eerste statement wordt een regel op het scherm geplaatst. In de tweede regel wordt de waarde van de variabele met één verhoogd.
Voorwaardelijke statements met for()Het statement for() is de derde manier waarop je het verloop van het script kunt beïnvloeden. Het statement lijkt op het while-statement. Het verschil is dat bij het statement for() in de eerste regel de beginwaarde van de teller, de voorwaarde en de tellerbewerking wordt vastgelegd.
De for-lus heeft dus altijd drie parameters die van elkaar worden gescheiden door een puntkomma. Het volgende script zorgt dat de tafel van 5 op het scherm getoond wordt met behulp van een for-statement.
Break en continueJe kunt een lus altijd afbreken met het statement break.
Het statement continue slaat de rest van de lus over wanneer aan een bepaalde voorwaarde wordt voldaan.
Oefening:
|
![]() |
Events |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
InleidingJe kunt in een script reageren op gebeurtenissen. Een gebeurtenis is meestal een handeling van een bezoeker. Een gebeurtenis wordt een event genoemd. Met de programma's Flash, Dreamweaver en Photoshop kun je ook eventhandlers maken, al worden ze anders genoemd. Flash noemt de eventhandlers dynamische knoppen en acties, Dreamweaver noemt ze behaviors en Photoshop kent rollovers. Hoe het ook genoemd wordt, het principe is altijd hetzelfde. Bijvoorbeeld: een bezoeker klikt op een knop (=event) en de knop verandert van kleur, er klinkt een geluid of er wordt een andere pagina geopend (=eventhandler). Welke eventhandlers je kunt schrijven voor welke events , is afhankelijk van de gebruikte software of de gebruikte scripttaal. Een eventhandler is altijd gekoppeld aan een object in een html-document. Niet met alle elementen in een document kunnen dezelfde handelingen verricht worden. Een gewone kop is bijvoorbeeld niet aanklikbaar en je moet een invoervenster hebben om te kunnen reageren op invoer. Het is onmogelijk om alle eventhandlers in deze les te behandelen. Je leest daarom alleeen voorbeelden van scripts met de meest gebruikte eventhandlers. Events
EventhandlersEventhandlers zijn kleine scripts die als attribuut in een tag worden gebruikt. Een eventhandler wordt dus nooit tussen de tags <script> </script> geplaatst. Om een eventhandler voor een bepaald event te schrijven, neem je de naam van het event en plaats je hiervoor het woord on. De eventhandler die bij het event MouseOver hoort, heet onMouseOver. De algemene opbouw van een eventhandler is: <html_tag andere_attributen onEvent="JavaScript-code"> Binnen de eventhandler kun je allerlei JavaScript-codes opnemen. Meestal zal je verwijzen naar een functie die je in de kop van het document hebt gedefinieerd. Dit maakt het document overzichtelijker. html vereist dat alle waarden van de verschillende attributen tussen dubbele aanhalingstekens worden geplaatst. Wanneer binnen het stukje JavaScript in een eventhandler ook aanhalingstekens noodzakelijk zijn, gebruik dan enkele aanhalingstekens. Hiermee voorkom je fouten bij de interpretatie van het document. In de onderstaande listing is een voorbeeld opgenomen van de eventhandler onClick. Wanneer de bezoeker op de knop klikt, verschijnt een venster met het resultaat van de functie bereken.
Een event is wat anders dan een eventhandler. Events kunnen altijd optreden, maar niet alle html-elementen kennen een eventhandler om een event af te handelen. Een bezoeker kan bijvoorbeeld best op een afbeelding klikken. Zelfs als je in de tag <img> de eventhandler Onclick hebt opgenomen, blijft het klikken zonder effect. Een eventhandler hoort altijd bij een bepaald object en elk object kent zijn eigen eventhandlers.
Oefening:
Events met de muisDe eventhandlers onMouseOver, onMouseout, onClick, onMouseDown en onMouseMove reageren allemaal op gebeurtenissen met de muis. In de onderstaande listing worden deze eventhandlers gebruikt om de achtergrond van het document te veranderen. document.bgcolor=kleurcode De eventhandler onClick is gekoppeld aan het object Button. De eventhandler onMouseMove is de enige eventhandler die kan gekoppeld worden aan alle elementen. In het onderstaande document is het gekoppeld aan het object paragraaf <p>. De andere eventhandlers zijn gekoppeld aan een verwijzing <a>.
De volgende listing zorgt voor tekst in de statusbalk van het venster. De statusbalk is ook een eigenschap van het object window. Er is gebruik gemaakt van een functie om tekst in de statusbalk te plaatsen. Het script werkt alleen in Internet Explorer!
Oefening:
Events met het toetsenbordDe eventhandlers onKeyDown, onKeyPress, onKeyUp reageren op handelingen met het toetsenbord.
OnAbord en onErrorDe eventhandler onAbort kun je een actie uitvoeren op het moment dat de bezoeker het laden van grafische afbeeldingen onderbreekt door bijvoorbeeld op de knop Stoppen van de browser te klikken. <img src="plaatje.jpg" onAbort= "alert('Jammer dat u geen geduld heeft om de afbeelding helemaal te laden!')"> De eventhandler onError kan opgenomen worden als attribuut van de tags <body> en <img>. Hiermee kun je bijvoorbeeld een waarschuwingsvenster laten zien, wanneer er een fout optreed tijdens de overdracht van de afbeelding of het document. <img src="plaatje.jpg" onError= "alert('Jammer, er gaat iets fout! Probeer nogmaals!')">
OnBlur en onFocusJe gebruikt deze eventhandlers om een actie uit te voeren als de bezoeker naar een ander object van de pagina of naar een ander venster gaat. Het actief maken van een ander element heet het wijzigen van focus. De eventhandlers onBlur en OnFocus kun je gebruiken binnen formulieren, maar ook in pagina's waarbij gebruik gemaakt wordt van frames. In het onderstaande script verandert de achtergrondkleur, wanneer je de cursor verplaatst naar het volgende tekstvak. Oefening:
|
![]() |
Objecten |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ObjectenIn JavaScript werk je veel met objecten. Alle elementen van een internetpagina beschouwd JavaScript als een object. JavaScript bevat veel ingebouwde objecten zoals window en document. Je kunt ook zelf objecten maken. Een object is eigenlijk een verzameling variabelen en functies. Deze variabelen en functies worden de eigenschappen en methodes van een object genoemd. Alle objecten van JavaScript zijn geordend in een hiërarchische structuur.
Bovenaan de hiërarchie staat het object window. Met andere woorden: De andere objecten zijn allemaal child-objecten van het parent-object window. Een child-object is eigenlijk een eigenschap van het parent-object. Een child-object kan zelf andere child-objecten hebben. Elk object in de hiërarchie heeft dus eigenschappen of properties die zelf ook weer objecten kunnen zijn. De parent- en child-objecten worden van elkaar gescheiden door een punt: Parent_object.child_object.child_property Bijvoorbeeld: window.history.forward()
Zelf objecten definiërenObjecten kun je beschouwen als functies. Het zijn speciale functies met eigenschappen en methoden. Met behulp van functies kun je zelf ook weer objecten maken.
werknemer.naam ConstructorsEen functie waarin een object wordt gedefinieerd, wordt een objectdefinitie of een constructor genoemd. De constructor voor het object werknemer ziet er als volgt uit: InstantiesVan een object kunnen meerdere nieuwe objecten worden afgeleid. Deze afgeleide objecten worden instanties (instances) genoemd. Deze instanties hebben altijd dezelfde properties als het object waarvan het is afgeleid. In een script werk je meestal met de instanties van een object. Een instantie wordt gedefinieerd met behulp van het keyword new. In het volgende statement wordt een instantie van het object werknemer gecreëerd: Vlijmen = new werknemer ("Gerda Vlijmen", "automatisering " , "webdeveloper ", "1-12-2001", "") Omdat deze werknemer nog in dienst is, heeft de laatste propertie geen inhoud. Je kunt hier later nog een waarde aan toekennen met het statement: Vlijmen.uit_dienst = "15-6-2002"; MethodesJe kunt voor zelfgemaakte objecten ook methodes maken. Methodes zijn immers functies die horen bij een bepaald object. Een methode geldt ook voor alle instanties van het object. Het onderstaande script definieert een methode voor het object werknemer. De methode zorgt ervoor dat de gegevens van de instanties op het scherm getoond worden. De functie leest de properties van het huidige object (this) en schrijft de regel op het scherm.
Om aan te geven dat de functie een methode is van het object werknemer, moet in de constructor van het object de functie worden opgenomen als propertie. function werknemer (afdeling, functie, in_dienst , uit_dienst) Een functie die gebruikt wordt als methode van een object, moet in het script voor de constructor opgenomen worden. In de volledige listing wordt de functie en het object gedefinieerd. Hierna worden er drie instanties afgeleid en het resultaat wordt op scherm getoond.
function werknemer (naam, afdeling, functie, in_dienst , uit_dienst) //--> <script language="JavaScript"> vlijmen = new werknemer ("Gerda Vlijmen", "automatisering " , "webdeveloper ", "1-12-2001", "") // hier worden de objecten op het scherm gezet vlijmen.toon(); Oefening:
Het object WindowHet object window is het belangrijkste object in JavaScript. Het object staat bovenaan de objecthiërarchie. Dit betekent dat alle andere objecten eigenschappen zijn van dit object. Eigenschappen van het object WindowDe properties van window beschrijven de informatie over het venster en het document in het venster.
De eigenschappen document, location en history zijn zelf weer objecten. Wanneer er maar één venster is, wat meestal het geval is, kan de verwijzing naar het venster weggelaten worden. Dit blijkt bijvoorbeeld uit het gebruik van document.write(). Omdat document een child-object is van window zou je eigenlijk in een statement de verwijzing window.document.write() moeten gebruiken. Je gebruikt het volledige statement alleen, wanneer je meerdere vensters opent vanuit een script. In het volgende voorbeeld worden een aantal eigenschappen van het venster bepaald.
<html>
Methodes van het object WindowsHet object window kent een aantal ingebouwde methodes: alert(),prompt() en confirm()
Beide methodes openen een dialoogvenster. De methode confirm() opent ook een dialoogvenster. Het dialoogvenster heeft twee knoppen: OK en Cancel. Wanneer de bezoeker op de knop OK klikt, geeft dit de waarde TRUE. Wanneer de bezoeker op Cancel klikt, geeft JavaScript de waarde FALSE. Oefening:
window.open en window.close Met de methode window.open() kun je een nieuwe instantie van het browservenster openen. In het venster kun je een andere pagina openen. De vormgeving van het nieuwe venster bepaal je met behulp van attributen.
Bij het openen van het nieuwe venster kun je met behulp van de methode het venster een naam geven en de eigenschappen van het venster bepalen. open("URL","name","attributen") Je kunt de volgende attributen gebruiken:
<html>
Het volgende script gebruikt een functie om de inhoud van het nieuwe venster te bepalen.
Overige methodsNiet alle methodes van het object window kunnen in deze module behandeld worden. Voorbeeld met window.moveBy:
Voorbeeld met window.moveTo:
Voorbeeld met window.resizeTo:
Oefening:
TimeoutsBij een aantal methodes van het object window kun je gebruik maken van timeouts. Een timeout is een statement die uitgevoerd wordt nadat een bepaalde tijd is verstreken. Je gebruikt ze bijvoorbeeld voor een klok of een scrollende tekst in de statusbalk. De algemene vorm van een statement met setTimeout()is: SetTimeout ("statements", wachttijd_in_milliseconden) Alle statements moeten tussen dubbele aanhalingstekens staan. De teller wordt aangegeven in milliseconden (duizendsten van een seconde). Wil je een wachttijd van een minuut, dan wordt de waarde 6000. De functie clearTimeout()gebruik je om een lopende timer die gestart is met de functie setTimeout() te stoppen. De parameter van clearTimeout() is het getal die setTimeout() teruggeeft, zodra de timer begint te lopen. Je kunt dit getal opslaan in een variabele. In het onderstaande script wordt eerst aan de variabele i de waarde 0 toegekend. In de functie stop_timer wordt de timer stopgezet en de inhoud van de statusbalk gewist.
function timer() function stop_timer() <p> Een timer in de stausbalk van Internet explorer</p>
Oefening:
|
![]() |
Nog meer objecten |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Het object historyElke browser houdt een lijst bij van alle bezochte sites van een sessie. Met behulp van deze lijst kun je snel terug keren naar eerder bezochte sites. De URL's van deze sites vormen samen het object history. Het object history is in JavaScript een eigenschap van het object window. De inhoud van het object history wordt tijdens de browsersessie steeds bijgewerkt. Het object history heeft de volgende properties en methodes:
De methode back() komt overeen met het klikken op de knop Terug van de browser. forward() komt overeen met de knop Vooruit. Tussen de haakjes van de methode history.go() plaats je een getal dat aangeeft hoeveel pagina's vooruit of achteruit gesprongen moet worden. history.go(-1) komt overeen met history.back() en history.go(1) met history.forward(). Met history.go(0) wordt de pagina opnieuw geladen. In het onderstaande script worden een aantal voorbeelden getoond van het object history. <html>
Oefening:
Het object locationHet object location beschrijft de locatie van het document in de browser. Het is een child-object van het object window. Door de juiste properties te gebruiken, kun je ook delen van de url gebruiken. De onderstaande tabel geeft een overzicht van de meest gebruikte properties en methodes van het object location.
Oefeningen:
Het object navigatorHet object navigator omvat alle gegevens over de browser waarmee de bezoeker de pagina bekijkt. Het object valt buiten de objecthiërarchie. De onderstaande tabel geeft een overzicht van de meest gebruikte properties en methodes van het object navigator.
Het onderstaande script laat op het scherm de versie van de browser zien.
Oefening:
Het object screenHet object screen bevat informatie over het beeldscherm van de gebruiker. Het object heeft alleen properties en geen methodes.
Oefening:
Het object Date()Het object Date() is een ander soort object dan de objecten die tot nu toe besproken zijn. Het object is geen child van het object window. Het object Date() staat voor de huidige datum en tijd. Omdat de datum en de tijd steeds veranderen, bestaan er vele instanties van het object Date(). Om een instantie van het object Date() te maken gebruik je het volgende statement: var datum= new Date() Hierbij krijgt de variabele datum de waarde van de huidige datum en tijd.
Het volgende script gebruikt zowel de huidige datum als een opgeven datum.
Het script geeft het volgende resultaat: Het is nu : Tue Oct 9 12:57:48 UTC+0200 2001 De standaardweergave van de datum op het scherm is meestal niet zoals je dat wenst. Met behulp van de methodes van het object kun je de weergave van de tijd beïnvloeden. Het object Date() kent geen properties, wel veel methodes. Met behulp van de methodes kun je datum- en tijdsinformatie uit het datumobject halen of instellen.
In het volgende script wordt eerst de huidige datum in de variabele nu geplaatst. Hierna wordt met behulp van de verschillende methodes van het object delen van de datuminformatie op het scherm gezet.
Oefening:
Het object array()Het Nederlandse woord voor array is reeks of rij. Arrays zijn zeer belangrijk in JavaScript. Stel dat je 100 verschillende namen op wilt slaan. Je kunt hiervoor 100 verschillende variabelen creëren naam1, naam2, .... tot en met naam100. Dit is zeer omslachtig en niet efficiënt. Voor dit voorbeeld en vergelijkbare toepassingen gebruik je in JavaScript het object Array(). Arrays kun je zien als een aantal variabelen die samen gebundeld zijn. Net als bij het object Date() kun je vele instanties maken van het object Array(). mijnArray= new Array(); Je kunt toegang krijgen tot de inhoud van de variabelen door middel van de naam van de array en een nummer. Stel dat je bijvoorbeeld een array namen definieert met hierin 100 namen. Je kunt toegang krijgen tot de eerste naam met behulp van namen[0]. De tweede naam benader je met namen[1], de derde naam met namen[3] en de honderste naam met namen[99]. Elke array heeft een bepaalde lengte. De lengte van de array ligt vast in de propertie lenght. Je kunt de lengte van een array vastleggen door een getal tussen de haakjes te plaatsen. mijnArray= new Array(100); In het statement wordt een nieuwe instantie van het object Aray() gemaakt met een lengte van 100. myArray[99]= "xyz" De inhoud van een array kan uitgelezen worden.
Het script plaatst het volgend resultaat op het scherm:
Oefening:
StringEen string is een tekenreeks. Je hebt in deze modules JavaScript al veel met strings gewerkt. Wanneer je een aantal tekens aan een variabele toekent, is deze variabele te zien als een instantie van het object string.
Voorbeelden van methodes van het object string. In de volgende listing zijn een aantal methodes voor onder andere de opmaak van het object string gebruikt.
Reguliere expressiesDe methodes match, search en replace van het object string gebruiken reguliere expressies om in een tekenreeks te zoeken. Om met een reguliere expressie te werken, moet je eerst een zogeheten patroon (patterns) maken door een variabele te declareren. Een patroon wordt tussen schuine tekens (/) geplaatst. Hierbij kun je gebruik maken van de volgende tekens:
Reguliere expressies: voorbeeld 1: str = "abcDdcba"; In de eerste regel wordt de variabele str gedeclareerd. Met deze string wordt in de volgende regels verder gewerkt. Aan de variabele resultaat wordt door de methode match de waarde Dd toegekend. Hiervoor wordt de expressie (/d*/gi) gebruikt. Het deel (/d*/) geeft aan dat de letter d wordt gezocht. Het *-teken geeft aan dat d vaker mag voorkomen. Het patroon is tussen /…/ geplaatst. De letters g en i geven aan dat de hele string doorzocht moet worden en dat het gebruik van hoofdletters en kleine letters genegeerd wordt.
str = "Voor meer informatie, Zie hoofdstuk 3.4.5.1"; In de eerste regel wordt de variabele str gedeclareerd. Met deze string wordt in de volgende regels verder gewerkt. De variabele re bevat het patroon. Het patroon is tussen /…/ geplaatst. De i achter de laatste / geeft aan dat het gebruik van hoofdletters en kleine letters in de string genegeerd wordt.
In de volgende functie wordt gebruik gemaakt van de methode search om te contoleren of een tekstveld de tekens @ en . bevat. function controleer()
Oefeningen
MathMet het object Math kun je wiskundige en statistische berekeningen uitvoeren. Het object heeft vele properties en methodes. In deze module worden alleen de volgende methoden behandeld:
De methode random() geeft een willekeurig getal tussen de 0 en de 1. Het gaat altijd om een breukgetal bijvoorbeeld 0.238901. De onderstaande listing plaatst op het scherm een tekstvak en een knop. Wanneer de bezoeker op de knop klikt, verschijnt in het venster een willekeurig getal.
Het resultaat is als volgt:
getal=Math.round(Math.random()); Als resultaat geeft het statement altijd het getal 0 of 1. getal=Math.round(Math.random()* 6 + 1); of: getal=Math.ceil(Math.random()* 6 ); De methode random wordt veel toegepast om een willekeurig item uit een array te halen. Hiermee kun je bijvoorbeeld in een pagina de tip of spreuk van de dag laten zien, de pagina steeds van een andere achtergrondkleur voorzien of naar een willekeurige URL verwijzen. De volgende listing is hier een voorbeeld van:
Oefeningen
|
![]() |
Het object document |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
InleidingDit hoofdstuk is voornamelijk gewijd aan het object document. Het object is een child-object van het object window en bevat de inhoud van een pagina. Met het object kun je de inhoud van een pagina bepalen met JavaScript Verder worden er een aantal toepassingen getoond van JavaScripts. De meeste objecten die gebruik worden, zijn al behandeld in één van de hoofdstukken. In sommige toepassingen zijn één of meer nieuwe objecten, eigenschappen of methodes van objecten gebruikt. Deze worden niet uitgebreid behandeld. Zoek de functie van deze methodes op in een van de naslagwerken op Internet. De meest uitgebreide documentatie biedt de site w3schools.
Een document in JavaScriptIn html is een document een bestand met html-code voor een webpagina. Een html-document heeft bepaalde eigenschappen die je vast legt in de tag <body>. Kenmerken zijn onder meer de achtergrondafbeelding, de achtergrondkleur en de kleuren van de links. Wanneer een html-document eenmaal ingelezen is in een browser, kan het document niet meer veranderd worden. Met andere woorden, een html-document is statisch. In JavaScript is een document een ingebouwd child-object van het object window. Het object heeft, net als alle andere objecten, eigenschappen en methodes. De eigenschappen zijn uit te lezen en te gebruiken in een script (bijvoorbeeld document.location) of in te stellen in een script. Met dit laatste heb je al kennis gemaakt bij de oefeningen waarbij je een nieuw venster openende, waarvan de inhoud helemaal bepaald was in een script. Nadat het object document in de browser is gelezen, kun je bepaalde eigenschappen van het object nog veranderen. Met andere woorden, het object document is dynamisch. Wanneer je de inhoud van een pagina wilt wijzigen, bijvoorbeeld op basis van invoer van de bezoeker, moet je de inhoud van een pagina helemaal met behulp van een script bepalen. Het instellen van de eigenschappen en het schrijven van tekst naar de pagina verloopt via het object document. Het object heeft veel eigenschappen waarvoor html ook tags of attributen heeft. Bijvoorbeeld, de eigenschap achtergrondkleur wordt in JavaScript ingesteld met document.bgcolor, in html met de tag <body bgcolor>. Eigenschappen van het object documentHet object document heeft veel eigenschappen. In onderstaande tabel vind je een opsomming van alle eigenschappen van het object. Sommige van deze properties zijn zelf weer objecten, andere zijn arrays.
Kleuren van een documentMet de eigenschappen bgColor, fgColor, linkColor, alinkColor en vlinkColor kun je de kleuren van het document bepalen.In het onderstaande script wordt een nieuw venster geopend. de kleuren worden bepaald door JavaScript.
Oefening:
withJe kunt veel typewerk besparen wanneer je gebruik maakt van het keyword with. Door het woord wordt een object gemaakt waarin alle inhoud als blok wordt ingesteld. De standaard syntax is: with (parameter) Wanneer je het keyword with toepast op de listing, ziet het script er als als volgt uit:
Informatie over het documentDe eigenschappen title, URL en lastModified bevatten informatie over het document. Het script in de volgende listing zorgt ervoor dat deze eigenschappen worden getoond in een venster.
Wanneer op de knop in het document geklikt wordt, verschijnt het volgende venster:
document.title='Een titel van het document';
Oefening:
Arrays van het object documentDe volgende eigenschappen van het object document zijn arrays:
De arrays bevatten informatie over de linken, de ankers de afbeeldingen en de formulieren. Al deze eigenschappen zijn zelf ook weer objecten. Door te verwijzen naar de plaatst in de array, kun je de objecten aanspreken. Zo verwijst document.images[0] naar de eerste afbeelding op de pagina, document.forms[1] verwijst naar het tweede formulier.
Oefening:
Methodes van het object documentHet object document kent de volgende methodes:
CaptureEvenst()De methode captureEvents() is ook een methode van het object window. De methode captureEvents() controleert gebeurtenissen. Als parameter moet je de gebeurtenissen opgeven die gecontroleerd moeten worden. Je gebruikt hierbij dezelfde namen als van de eventhandlers zonder het woordje on ervoor. Hiervoor in de plaats gebruik je het object Event.
Je kunt de volgende gebeurtenissen controleren:
Het volgende script geeft een voorbeeld van het gebruik van de methode captureEvents():
De methode wordt alleen ondersteund door Firefox (Netscape)! Om het script geschikt te maken voor andere browsers, kun je het volgende script gebruiken.
Oefeningen
getSelection()Deze methode vraagt de tekst op die door de bezoeker is geselecteerd. Ook deze methode wordt alleen ondersteund door Netscape!! Wanneer je het document test in de browser, moet je wel eerst een tekst selecteren, anders is het resultaat een leeg venster.
open() en close()Bij de methode open() wordt de inhoud van een venster vrijgegeven om opnieuw beschreven te worden. De methode close() sluit een documentinhoud. In het onderstaande voorbeeld wordt eerst het onderste deel van het script uitgevoerd omdat de functie wissel pas later wordt opgeroepen.
write() en writeln()De methode write() heb je al vaker gebruikt. De methode zet de string die tussen haakjes is geplaatst op het scherm. De methode writeln() werkt hetzelfde als write() alleen wordt hierbij een regelopschuiving toegevoegd.
Oefening:
Enkele toepassingenCookiesEen cookie is een stukje informatie dat op de vaste schijf van een bezoeker wordt geplaatst. Het script bepaalt welke informatie opgeslagen wordt. Je kunt met behulp van een script het cookie lezen en de opgeslagen informatie gebruiken. Cookies worden gebruikt om de bezoekers van sites te volgen en te identificeren. Ze kunnen informatie bevatten als datum/tijd van bezoek, namen van bezochte pagina's of gekochte producten. In elke browser kan de mogelijkheid van het plaatsen van een cookie uitgeschakeld worden. Nadeel is dat veel websites dan geen toegang meer geven. Cookies zijn strings die in een txt-bestand worden opgeslagen. Een cookie heeft een inhoud en een vervaldatum. De inhoud wordt opgenomen in de string achter de code naam= en de vervaldatum achter de code expires= . In de volgende listing wordt een cookie ingesteld die bijhoudt hoe vaak een bezoeker de pagina inleest. Het is een voorbeeld met een extern Javascript-bestand. Je maakt dus twee bestanden: cookie.html en cookie.js. cookie.htm:
cookie.js:
Oefeningen:
Alle afbeeldingen op een pagina staan in de array document.images[]. JavaScript biedt de mogelijkheid om na het laden van de pagina, een afbeelding te laten vervangen door een andere afbeelding. In de volgende listing is hiervan gebruik gemaakt:
Oefeningen
Werken met div's Ook JavaScript kan werken met div's. De volgende listings zijn voorbeelden van het werken met lagen:
Het volgende script werkt alleen in Internet Explorer
Kalender In het volgende script wordt het object date gebruikt om een kalender in een tabel te plaatsen.
Oefeningen
|
![]() |
Formulieren |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
InleidingEén van de child-objecten van document is het object form. Je zult JavaScript vaak gebruiken om formulieren te controleren of waarden in de verschillende velden in te voeren. Dit hoofdstuk is helemaal gewijd aan het object form en alle chid-objecten van form.
Het object formHet object form is een child-object van het object document, dat weer een child-object is van window. De volledige benaming van het object is daarom: window.document.form De aanduiding window mag weggelaten worden wanneer je werkt met één object van window.
Properties, methodes en eventhandlers van formEen formulier staat op een pagina tussen de tags <form></form>. De tag kent een aantal attributen. Alle mogelijke attributen zijn als eigenschap van het object form uit te lezen. Ze zijn niet te veranderen!
De eigenschappen van het object zijn uit te lezen.
Je kunt dan in een script om de eigenschappen uit te lezen als voorbeeld de volgende variabelen declareren: var actie= document.form[0].action; De variabelen krijgen de volgende waarden: actie= http://www.server.com/cgi-bin/script.pl
In het volgende html-document wordt aan de bezoeker nog een bevestiging gevraagd voor het wissen van de inhoud van het formulier, wanneer op de knop reset geklikt wordt. Dit wordt geregeld door de eventhandler onReset van het object form. Wanneer op de knop reset geklikt wordt, wordt de functie test() aangeroepen.
Oefeningen
Child-objecten van formAlle elementen binnen formulieren beschouwt JavaScript ook als object. Elk child-object van form kent zijn eigen properties, methodes en eventhandlers. De eigenschappen zijn af te leiden van de attributen van het veld. In deze alinea vind je eerst een overzicht van alle objecten. Hierna zijn een aantal scripts opgenomen waarin je leert hoe je met deze objecten kunt werken.
Je kunt met JavaScript op twee manieren gebruik maken van tekstvelden. Je kunt de waarde van het veld uitlezen en je kunt zelf waarden invoeren. In de onderstaande listing is een functie opgenomen die de inhoud van het eerste tekstveld optelt bij de inhoud van het tweede tekstveld. Het resultaat wordt getoond in het tekstveld met de naam uitkomst. De eventhandler onFocusvoorkomt dat de bezoeker een getal kan invoeren in het tekstveld uitkomst. Zodra de cursor in het veld wordt geplaatst, zorgt de methode blur() er voor dat de focus uit het veld verdwijnt.
De invoervelden die je maakt met de tag <textarea> lijken op de gewone invoervakken. De properties, methodes en eventhandlers zijn hetzelfde.
Oefeningen
Selectievakjes en keuzerondjesSelectievakjes worden meestal gebruikt voor het in- of uitschakelen van bepaalde instellingen. Een selectievakje kent ook maar twee toestanden: aan of uit (checked of not checked). Alle selectievakjes staan voor één bepaalde selectie. Een selectievakje maakt geen deel uit van een groep. Bij keuzerondjes is er altijd sprake van een groep, die samen één object vormen en ook maar één naam hebben. Elk keuzerondje heeft wel een eigen propertie voor value en checked. Om de eigenschap van elk keuzerondje te benaderen, moet je de array-notatie gebruiken. Om de waarde uit te lezen van het tweede keuzerondje in een groep gebruik je de regel: var waarde= document.formulier_naam.naam_groep[1].value Denk er aan dat JavaScript een array begint met het getal 0. In de volgende listings zijn voorbeelden opgenomen van het gebruik van een selectievakje en keuzerondjes.
KeuzelijstenBij keuzelijsten gebruik je, net als de keuzerondjes, een serie gegevens (options) onder één naam. Ook voor keuzelijsten geldt dat sommige eigenschappen gelden voor de gehele lijst en andere voor elke optie apart. In de eerste listing zie je een voorbeeld van hoe je een keuzelijst kunt gebruiken om een compact menu met hyperlinks te maken, in het tweede voorbeeld worden de achtergrondkleuren ingesteld.
Formulieren controlerenJavaScript wordt veel gebruikt om de invoer van formulieren te controleren voordat de gegevens naar de server worden verzonden. Je ontlast hiermee de server en de bezoeker krijgt direct reactie, wanneer fouten zijn gemaakt bij het invullen van het formulier. In het volgende html-document wordt aan de bezoeker gevraagd om drie tekens in te vullen. De functie controleert de invoer en geeft een melding wanneer meer of minder tekens zijn ingevoerd.
In het onderstaande html-document wordt gecontroleerd of alle velden van het formulier zijn ingevuld. In de functie is geen gebruik gemaakt van het attribuut Name van de verschillende objecten van het formulier. Er wordt verwezen naar het eerste formulier in het document (form[0]) en het zoveelste object binnen het formulier (elements[1])
Wanneer je wilt controleren of er een juist e-mail-adres is ingevoerd, dan moet je het script uitbreiden met de volgende functie. De functie kan aangeroepen worden door in de tag van het veld de eventhandler onChange="e_mail() te gebruiken.
De methode indexOF() controleert of een bepaalde string in de ingevoerde tekst aanwezig is. De gezochte string moet tussen aanhalingstekens tussen de haakjes worden geplaatst. De functie controleert of de invoer het @-teken en een punt bevat. Wanneer dat niet het geval is, wordt de uitkomst van de vergelijking Onwaar of –1. Een bezoeker kan nog steeds een verkeerd e-mail-adres invoeren. De invoer gr.mail@778 wordt goedgekeurd. Oefeningen
|
![]() |
jQuery |
|
|
Wat is jQuery?jQuery is een grote javascript bibliotheek met kant en klare functies. Het is een opensource dat steeds meer gebruikt wordt bij het maken van interactieve websites. Het combineert JavaScript met CSS-selectoren. De jquery-bibliotheek wordt steeds meer uitgebreid met nieuwe plugins. Je kunt jQuery vergelijken met de Spry-functies in Dreamweaver. jQuery maakt het eenvoudig om JavaScript te schrijven en te gebruiken voor effecten die je eerst alleen met Flash kon bereiken. jQuery is zeer geschikt voor:
Het voordeel van jQuery boven Flash is dat de bestanden klein zijn. Het is alleen maar tekst. Voorbeelden van sites die gebouwd zijn met behulp van jQuery zijn:
Oefeningen
jQuery gebruikenDit hoofdstuk is alleen een kennismaking met jQuery. Daarom zijn er alleen een aantal voorbeeld scripts opgenomen.
Om jQuery te gaan gebruiken moet je op de website www.jquery.com de “jQuery library” downloaden. Hierna maak je een html bestand waar je de jQuery library aan koppeld. Oefeningen
Wanneer je jQuery wilt aanroepen in je webpagina, dan moet je de functie gebruiken die jQuery heet. Je kunt jQuery ook afkorten tot : $. Een jQuery commando begint dus met het oproepen van de functie, kort of volledig. (jQuery of $) Verder bestaat een commando uit een ‘selector’, een ‘action’ en een ‘parameter’. Een voorbeeld: jQuery('p') .css ('color', 'red'); Hierboven zie je dat er eerst een selector staat, de ‘p’. Dit betekent dat alle paragrafen van de webpagina worden geselecteerd. Daarna zie je de action, de actie die het betreft. In ons voorbeeld CSS. Dit wordt in jQuery gebruikt om een CSS eigenschap aan te passen. Vervolgens komen de parameters te staan die aangeven dat de kleur aangepast moet worden en wel naar rood. Dus met dit voorbeelden wordt alle tekst in paragrafen rood. Het aantal parameters kan overigens variëren van nul naar veel. Maar bovenstaand voorbeeld is de basis van een jQuery commando. Om een actie in te kunnen zetten is het vaak verstandig dat een pagina helemaal geladen is. Om dit te regelen gebruik je de volgende functie: $(document).ready(function() { Oefeningen
html:
css:
|
![]() |
Opdrachten |
|---|---|
|
Opdrachten Introductie scripten
Opdracht Statements en variabelen
Opdrachten functies
Opdrachten events
Opdrachten objecten 1
Opdracht objecten 2
|