Webformulieren maken voor websites (praktijkhandleiding)

Reageer op wijzigingen in invoerelementen met JavaScript

Alle video's van de tutorial Webformulieren voor websites maken (praktijk-tutorial)

In deze zelfstudie zul je leren hoe je met JavaScript op wijzigingen in de input-elementen van webformulieren kunt reageren. Het is belangrijk om de juiste gebeurtenishandlers te gebruiken om de gebruikerservaring te verbeteren en ervoor te zorgen dat je de juiste waarden voor verdere verwerking krijgt. In het bijzonder zullen we ons bezighouden met de gebeurtenissen onchange en oninput om ervoor te zorgen dat je invoer dynamisch en efficiënt wordt verwerkt.

Belangrijkste inzichten

  • Het onchange-evenement wordt geactiveerd wanneer de gebruiker de focus van een invoerveld verwijdert en wijzigingen heeft aangebracht.
  • Het oninput-evenement wordt geactiveerd bij elke invoer en maakt directe interactie met de gebruiker mogelijk.
  • De waarden die worden geretourneerd door input-elementen zijn oorspronkelijk strings en moeten mogelijk worden omgezet in het juiste gegevenstype (bijv. met parseFloat of valueAsNumber).

Stapsgewijze handleiding

Om de genoemde concepten te demonstreren, zullen we verschillende stappen doorlopen om gebeurtenissen op een invoerveld te registreren en met de gegevens te werken.

Stap 1: Het instellen van een invoerelement

Je moet eerst een eenvoudig invoer-element van het type nummer in je HTML-bestand maken. Structureer je HTML met een invoerveld voor de leeftijd.

Reageer op veranderingen in invoervelden met JavaScript

Stap 2: Het toevoegen en testen van het onchange-evenement

We voegen nu een gebeurtenishandler toe voor het onchange-evenement. Dit doen we door een functie te maken die wordt aangeroepen wanneer de gebruiker de focus uit het invoerelement verwijdert.

Reageer op veranderingen in invoer-elementen met JavaScript

Het is belangrijk op te merken dat we bij het wijzigen van de waarde direct toegang hebben tot de ingevoerde gegevens van het invoerelement.

Reageer op wijzigingen in invoerelementen met JavaScript

Stap 3: Verwerken van de invoerwaarde

Binnen deze functie kun je de waarde van het invoerelement verkrijgen via het event object. De toegang tot de waarde moet gebeuren via event.target.value om de huidige waarde direct te verkrijgen.

Reageer op veranderingen in invoerelementen met JavaScript

Er kunnen zich bijvoorbeeld situaties voordoen waarin we de ingevoerde waarde willen posten of verwerken, maar deze eerst moeten controleren. Hier zijn de verschillende typen waarden van belang, vooral als je numerieke berekeningen wilt uitvoeren.

Reageer op wijzigingen in invoervelden met JavaScript

Stap 4: Typecontrole van de waarde

Zoals je misschien hebt gemerkt, retourneert het invoerelement de waarde altijd als een string. Om ervoor te zorgen dat we een nummer krijgen, kunnen we een typetransformatie gebruiken. Je kunt parseFloat gebruiken om ervoor te zorgen dat we met het juiste gegevenstype werken.

Stap 5: Implementatie van het oninput-evenement

Als je een dynamische reactie nodig hebt wanneer de gebruiker iets invoert, moet je de oninput-methode gebruiken als aanvulling op onchange. Dit betekent dat telkens wanneer de gebruiker een toets indrukt of de waarde wijzigt, de functie direct wordt opgeroepen.

Reageer op wijzigingen in invoerelementen met JavaScript

Stap 6: Vergelijking van de twee gebeurtenissen

Let op hoe oninput en onchange verschillen. oninput wordt bij elke invoer geactiveerd, terwijl onchange alleen wordt geactiveerd wanneer de gebruiker het invoerveld verlaat. Dit is met name handig als real-time feedback gewenst is.

Reageer op veranderingen in input-elementen met JavaScript

Stap 7: Werken met verschillende invoertypen

De methoden die je gebruikt voor een invoerveld van het type nummer zijn ook van toepassing op andere typen zoals tekst of kleur. Als je een veld voor kleurselectie gebruikt, zul je al snel merken dat het gebruik van de gebeurtenissen moet worden aangepast aan het type.

Reageer op veranderingen in invoerelementen met JavaScript

Samenvatting

In deze tutorial heb je geleerd hoe je JavaScript gebruikt om te reageren op gebruikersinteracties in invoervelden. Je hebt geleerd hoe onchange en oninput werken en hoe belangrijk het is om invoerwaarden adequaat te verwerken op basis van het type.

Veelgestelde Vragen

Welke gebeurtenissen kan ik voor invoerelementen gebruiken?Je kunt onchange, oninput en andere gebeurtenissen zoals onclick of specifieke toetsgebeurtenissen gebruiken.

Hoe krijg ik de actuele waarde van een invoerveld?Gebruik event.target.value om de actuele waarde te verkrijgen.

Wanneer wordt het onchange-evenement geactiveerd?Het onchange-evenement wordt geactiveerd wanneer de gebruiker de focus van het invoerveld verwijdert en wijzigingen heeft aangebracht.

Hoe kan ik ervoor zorgen dat een waarde als nummer wordt geïnterpreteerd?Je kunt parseFloat() of valueAsNumber gebruiken om de string in een getal om te zetten.

Zijn er verschillen tussen oninput en onchange?Ja, oninput wordt bij elke waardeverandering opgeroepen, terwijl onchange alleen wordt geactiveerd wanneer de focus het invoerveld verlaat.