Een formulier zonder JavaScript als reservepad
7 november 2026 · 6 min leestijd · Marketing Scan
In dit artikel
Wat je test en waar de test ophoudt
Een reservepad betekent hier niet dat je formulier zonder script even mooi moet werken. Het betekent dat een bezoeker nog kan invullen, verzenden, begrijpt wat er misging en desnoods een ander kanaal kiest. Scripts kunnen falen door een geblokkeerde externe bibliotheek, een fout in je eigen bundel, een netwerk dat bestanden filtert of een update die iets breekt.
Deze procedure test dus de basis: HTML, serververwerking en zichtbare alternatieven. Ze test geen spamfilters, mailbezorging of privacybeleid en is geen juridisch oordeel. De cursus Formulieren leren behandelt validatie, testen en JavaScript als afzonderlijke onderdelen, wat past bij de gedachte dat script een verbetering is. Jouw formulierplug-in of CMS kan afwijken, dus controleer altijd je eigen implementatie.
Testprocedure in zes stappen
- Open de pagina in een testvenster en schakel scripts uit via de ontwikkelaarstools of een testprofiel van je browser. De exacte plek verschilt per browser, zoek dat op in de hulp van je browser.
- Controleer of alle velden zichtbaar zijn en elk veld een zichtbaar label heeft. Een veld dat pas door een script verschijnt, bestaat in deze test niet.
- Verstuur het formulier volledig leeg. Noteer wat je ziet: een foutmelding, een lege pagina, een herlading zonder uitleg of een succesmelding.
- Verstuur met een ongeldig e-mailadres en een geldig bericht. Kijk of de ingevulde gegevens behouden blijven.
- Verstuur met geldige gegevens. Controleer of er een bevestiging verschijnt en of de aanvraag effectief bij de ontvanger aankomt.
- Herhaal alles met scripts aan, zodat je het normale gedrag kent en het verschil ziet.
Noteer per stap drie dingen: de invoer, wat de bezoeker ziet en wat de ontvanger krijgt. Gebruik een testadres en fictieve gegevens, geen echte klantgegevens, en een herkenbare unieke tekst per test (bijvoorbeeld TEST-01). Een foutpagina of time-out kan optreden nadat het bericht al is opgeslagen, dus controleer bij de ontvanger of een mislukte test toch is aangekomen voor je opnieuw verzendt, om dubbele verwerking te vermijden.
Fouten en verwerking: wat de server moet overnemen
Volgens de handleiding Validatie van formulieren aan clientzijde is validatie in de browser een eerste controle voor gebruiksgemak en geen volledige beveiliging. De server moet de ingezonden gegevens zelf opnieuw valideren. Voor je reservepad betekent dat: als de server een veld afkeurt, moet de bezoeker dat lezen in de pagina die terugkomt.
Verplichte velden en een e-mailtype via HTML-attributen horen volgens dezelfde bron bij de HTML-validatie van de browser. Ga na of die attributen in de oorspronkelijke HTML staan en niet pas door een script worden toegevoegd.
Controleer ook de kwaliteit van de melding zelf. Noemt ze het veld, zegt ze wat er moet veranderen en blijft de ingevulde tekst staan? Ook de tutorial over toegankelijke formulieren vraagt om meldingen over fouten met instructies om ze te herstellen, en om enkel te vragen wat nodig is voor de aanvraag.
Een alternatief kanaal dat echt bruikbaar is
Een alternatief is pas een alternatief als het zonder het falende onderdeel werkt. Een chatwidget of een knop die een venster via script opent, valt weg wanneer scripts falen. Zet daarom gewone tekst in de HTML zelf: een e-mailadres, een telefoonnummer en eventueel een postadres, vlak bij het formulier en op de foutpagina.
Een mailto-link kan helpen, maar hangt af van het mailprogramma op het toestel van de bezoeker. Toon het adres dus ook als leesbare tekst, zodat het gekopieerd kan worden. Controleer in de paginabron dat het adres er rechtstreeks in staat en niet door een script wordt ingevuld.
Spreek tot slot intern af wie het alternatieve kanaal opvolgt en hoe vaak. Een telefoonnummer dat niemand opneemt, is geen reservepad. Leg die afspraak vast in je overdrachtsnotitie zonder een reactietijd te beloven die je niet kunt waarmaken.
Beslisblad: wat doe je met wat je ziet
| Waarneming zonder script | Waarschijnlijke oorzaak | Eerste keuze |
|---|---|---|
| Velden ontbreken | Veld wordt door script opgebouwd | Basisvelden in de HTML zetten, script enkel als verbetering |
| Verzenden doet niets | Knop is geen echte verzendknop of het formulier mist een verwerkingsadres | Formulier herstellen zodat het zelf naar de server kan verzenden |
| Lege pagina of technische fout na verzenden | Server geeft geen bruikbaar antwoord | Resultaatpagina met foutlijst en weg terug maken |
| Fout zichtbaar, maar ingevulde tekst weg | Server stuurt de waarden niet terug | Velden opnieuw vullen bij een afgekeurde verzending |
| Verzending lijkt te slagen, geen bericht ontvangen | Verwerking of mailbezorging | Buiten deze test: laat de beheerder of ontwikkelaar het onderzoeken |
| Alles werkt | Basis is in orde | Resultaat noteren en opnieuw testen na elke wijziging |
Fictief overdrachtsvoorbeeld en controle na wijziging
Fictieve invoer: een contactformulier met de velden naam, e-mailadres en bericht, met onder het formulier een e-mailadres en telefoonnummer als gewone tekst. Testgevallen: leeg verzenden, de tekst abc in het e-mailveld en geldige gegevens.
Verwachte technische controles: bij leeg verzenden verschijnt per verplicht veld een melding. Bij abc blijven naam en bericht ingevuld. Bij geldige gegevens verschijnt een bevestiging en ontvangt de beheerder één bericht. Het alternatieve kanaal staat in de HTML-bron. Dit is een testontwerp, geen gemeten resultaat.
Controle na wijziging: herhaal de zes stappen na elke plug-inupdate, themawijziging of nieuw veld. Bewaar de tabel met datum, browser en tester als overdrachtsnotitie. Test daarnaast met toetsenbord en op een mobiel toestel, want scripts uit is maar één van de omstandigheden waarin een formulier kan falen.
Wil je zien welke publieke signalen je website rond formulieren en contactmogelijkheden toont? Bekijk ze via Marketing Scan. Een publieke scan meet zichtbare signalen en bewijst geen volledige technische implementatie, dus de scripttest hierboven blijft je eigen controle.
Veelgestelde vragen.
Moet elk veld zonder JavaScript identiek werken?
Nee. Het doel is dat een bezoeker nog kan invullen, verzenden en begrijpt wat er misgaat. Mooie extra's zoals live meldingen of automatische aanvullingen mogen wegvallen, zolang de server een bruikbare terugmelding geeft.
Is HTML-validatie in de browser genoeg als bescherming?
Nee. De bron over validatie aan clientzijde noemt browservalidatie een eerste controle voor gebruiksgemak en geen volledige beveiliging. Laat de server alle ingezonden gegevens zelf opnieuw controleren.
Is een mailto-link een voldoende reservepad?
Niet altijd, want ze hangt af van het mailprogramma op het toestel. Toon het e-mailadres daarom ook als gewone tekst en voeg een telefoonnummer toe als je dat kanaal echt opvolgt.
Bewijst een test met scripts uit dat alle bezoekers het formulier kunnen gebruiken?
Nee. Je test één omstandigheid in één browser. Vul aan met een test via toetsenbord, op een mobiel toestel en eventueel met een schermlezer, en bekijk daarvoor de toegankelijkheidstutorial.
Bronnen bij dit artikel
Hoe werkt een marketing scan? Meetmethode en grenzen
Van advies naar actie voor jouw website
Maak een gratis account voor één website. Controleer zes kenmerken van je homepage en bekijk maximaal drie bevindingen.
Herhaal de check handmatig één keer per zeven dagen. Voor volledige audits en automatische opvolging is uitgebreide toegang nodig.
Maak je gratis account