07. formulieren
Formulieren zijn een zeer belangrijk onderdeel van elke moderne website. Het is de manier waarop je data kan invoeren in de website die dan verwerkt kan worden. Het meest gekende formulier is waarschijnlijk de zoekbalk in het midden van de Google homepage.
structuur
We maken een formulier aan met het <form>
element. Binnen in dit element kunnen we dan de inputvelden gaan plaatsen. Het <form>
element heeft 2 belangrijke attributen namelijk action
en method
. Het action
attribuut bevat de URL waar de informatie in de form naartoe wordt gezonden, het method
attribuut bepaald de manier waarop deze informatie wordt verzonden (GET of POST). Als je de action
en method
attributen niet invult, staan ze standaard op GET naar het adres van de pagina.
Het effectief verzenden van formulieren valt buiten deze cursus.
meer info: https://www.w3schools.com/html/html_forms.asp
input elementen
Er zijn verscheidene soorten input-elementen voorzien in HTML5. Alle input-elementen maken gebruik van het name
attribuut. Dit attribuut geeft aan wat de naam is van de waarde die wordt ingevoerd.
meer info: https://www.w3schools.com/html/html_form_input_types.asp
<input>
Het <input>
element wordt gebruikt om verschillende soorten invoer te voorzien. Je geeft aan welk soort invoer je wenst met het type
attribuut.
vb: <input type="text" name="username">
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_input_test
tekst
tekstveld
Het text
type creëert een tekstveld waar de gebruiker tekst kan invullen. Je kan hier ook de size
en maxlength
attributen gebruiken om aan te geven hoe groot het tekstveld moet zijn en hoe lang de ingegeven tekst mag zijn.
wachtwoord
Dit type dient om wachtwoorden in te voeren. De ingetypte karakters zullen dus niet op het scherm verschijnen. De attributen zijn identiek aan die van het tekstveld.
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_password
e-mail
Met het type "email"
wordt aan de gebruiker een e-mailadres gevraagd.
URL
Met het type "url"
kan de gebruiker om een URL gevraagd worden.
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_url
tekstgebied
Met het <textarea>
element kan je een veld invoegen waar de gebruiker meerdere lijnen tekst in kan invoeren.
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_textarea
keuzerondje
Het keuzerondje type="radio"
gaat het mogelijk maken om een optie te selecteren. Je koppelt meerdere opties om tussen te selecteren aan elkaar door ze hetzelfde name
attribuut mee te geven. De gebruiker kan slechts 1 van de aan elkaar gekoppelde opties tegelijkertijd selecteren. Wil je dat de gebruiker meerdere opties tegelijkertijd kan selecteren gebruik dan een selectievak.
Het attribuut checked
kan in het element geplaatst worden om aan te duiden dat deze optie moet aangevinkt zijn bij het laden van de pagina.
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_radio
selectievak
Het selectievak wordt gebruikt als de gebruiker 1 of meerdere dingen moet kunnen aanvinken. Selectievakken mogen een verschillende naam hebben aangezien ze niet met elkaar in verbinding staan zoals de keuzerondjes. Je hebt hier ook het checked
attribuut om al één of meerdere selecties te maken bij het laden van de pagina.
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_checkbox
keuzelijst
Het <select>
element creëert een keuzelijst. Hier kan de gebruiker een item uit de lijst selecteren. Om items aan de selectie toe te voegen gebruik je het <option>
element. Aan dit <option>
element moet je het value
attribuut toevoegen, deze value wordt dan meegezonden indien de optie geselecteerd werd.
meerdere opties
Het <select>
element heeft het multiple
attribuut. Dit is een keuzelijst waarbij de gebruiker meerdere opties kan selecteren door op de ctrl-toets (pc) of cmd-toets (mac) te blijven duwen terwijl hij de opties aanklikt. Met het size
attribuut kan je aangeven hoeveel opties je tegelijkertijd aan de gebruiker wil tonen.
datum
Met <input type="date">
kan je de gebruiker om een datum vragen.
file
Het type file van input laat gebruikers toe een bestand te uploaden.
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_type_file
submit-knop
De submit-knop staat de gebruiker toe om alle ingevulde informatie in te dienen. Als deze knop wordt ingedrukt zal de informatie in het formulier worden verzonden naar de pagina aangegeven in het action
attribuut van het <form>
element.
afbeeldingsknop
We hebben ook een invoerveld van het type image
ter beschikking om een afbeelding als knop te gebruiken. Deze input heeft ook het src
attribuut nodig om de locatie van de afbeelding aan te geven. Alsook zijn de height
en width
attributen beschikbaar om de grootte van de afbeelding in te stellen.
knoppen
Met het <button>
element kunnen we een knop op het scherm plaatsen waar de gebruiker op kan klikken. Het type
attribuut kan gebruikt worden om het gedrag van de knop in te stellen. Er zijn 3 mogelijke waarden:
"button"
- De gebruiker kan op de knop klikken."submit"
- De knop wordt gebruikt als verzendknop."reset"
- De knop dient als resetknop voor het formulier.
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_button_test try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_button_type
verborgen invoer
Het <input type="hidden">
element staat toe om een verborgen waarde aan het formulier toe te voegen. Deze waarde kan info bevatten over de pagina waarop het formulier staat.
schuifbalk
Het <input type="range">
element definieert een besturingselement voor het invoeren van een getal waarvan de exacte waarde niet belangrijk is (zoals een schuifregelaar).
Het standaardbereik is 0 tot 100 en met de onderstaande kenmerken kunnen beperkingen ingesteld worden waarbij getallen geaccepteerd worden.
max: specificeert de maximaal toegestane waarde
min: specificeert de minimaal toegestane waarde
step: specificeert de wettelijke nummerintervallen
value: specificeert de standaardwaarde
zoekveld
Het <input type="search">
element zorgt voor een zoekbalk. Sommige browsers voorzien een kruisje in een searchbar zodat input kan worden weggehaald. Met het placeholder
attribuut kan een voorlopige tekst worden ingesteld. Deze verdwijnt van zodra de gebruiker zelf tekst wil ingeven.
placeholder
Het placeholder-attribuut specificeert een korte hint die de verwachte waarde van een invoerveld beschrijft (bijvoorbeeld een voorbeeldwaarde of een korte beschrijving van het verwachte formaat). De tekst wordt weergegeven in het invoerveld voordat de gebruiker een waarde invoert. De placeholder werkt bij de volgende invoertypen: tekst, zoeken, url, tel, e-mail en wachtwoord.
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_placeholder
labels
Met het <label>
element kunnen er labels aan invoervelden worden toegewezen. Dit kan op basis van het id
attribuut van het inputveld. Het id-attribuut van het te labelen invoerelement wordt in het for
attribuut geplaatst.
groeperen
Het <fieldset>
element maakt het mogelijk om bepaalde inputelementen te groeperen. Er kan ook een titel aan een groep elementen worden gegeven door een <legend>
element binnen het <fieldset>
element te plaatsen.
try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_fieldset
invoervalidatie
HTML5 biedt de mogelijkheid om de browser (beperkte) invoervalidatie te laten doen. De browser maakt hiervoor gebruik van het attributen die bij het element geplaatst worden.
verplichte invoer
Hiervoor wordt het required
attribuut gebruikt. Dit attribuut kan zonder waarde worden gebruikt.
attribute-selector (css)
Het is mogelijk om HTML-elementen op te maken die specifieke attributen of attribute-waarden hebben. De [attribute]
selector wordt gebruikt om elementen met een gespecificeerd attribuut te selecteren (text, radio, email, date,...).
meer info: https://www.w3schools.com/css/css_attribute_selectors.asp
oefening formulieren
oefening met HTML-formulier
Last updated