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.

<form action="https://www.example.com" method="GET">
    <p>Hier komen de input elementen</p>
</form>

meer info: https://www.w3schools.com/html/html_forms.asparrow-up-right

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.asparrow-up-right

<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_testarrow-up-right

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_passwordarrow-up-right

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_urlarrow-up-right

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_textareaarrow-up-right

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_radioarrow-up-right

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_checkboxarrow-up-right

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_filearrow-up-right

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:

  1. "button" - De gebruiker kan op de knop klikken.

  2. "submit" - De knop wordt gebruikt als verzendknop.

  3. "reset" - De knop dient als resetknop voor het formulier.

try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_button_testarrow-up-right try it yourself: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_button_typearrow-up-right

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.

meer info over searcharrow-up-right

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_placeholderarrow-up-right

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_fieldsetarrow-up-right

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.asparrow-up-right

oefening formulieren

oefening met HTML-formulierarrow-up-right

Last updated