Formulier lokaal gebruiken
Als je gegevens vanaf je eigen site naar een server wilt sturen om te worden bewerkt, doe je dat altijd
met een formulier. Dat geldt bijvoorbeeld als je e-mail wilt versturen met een mail-formulier of als je
gegevens wilt laten opslaan in een database op de server.
Als je echter gegevens aan de gebruiker wilt vragen om te laten bewerken door je browser zelf, doe je dat
óók via een formulier. Je gebruikt het alleen wat anders.
Hier vind je de aanpak.
- Een invulformulier maak je in het algemeen met de tag:
<form name="..." action="..." method="..." >
.
Formulier-elementen... .
</form> - De afzonderlijke elementen van <form> worden hier niet besproken. Zie daarvoor o.a. de items:
- Als je een formulier wilt maken dat volledig door de browser moet worden afgehandeld, geef je in de <FORM>-tag
op: action="JavaScript:DoeHetWerk()". De function DoeHetWerk (die je in de HEAD van de code
moet zetten) handelt vervolgens het formulier af op de manier zoals jij dat wilt.
Het attribuut method kan worden weggelaten. - Een nadeel van deze benadering kan zijn dat de JavaScript functie wordt aangeroepen als je op "Enter" drukt.
Overigens is dit te ondervangen; zie het item "'Enter'-toets
uitschakelen in een formulier-veld".
- Een andere methode om een formulier te maken dat volledig door de browser moet worden afgehandeld, is door de attributen
action en method gewoon weg te laten. De HTML-specificatie schrijft weliswaar voor dat action verplicht
is, maar als er geen actie op de server komt, hoef je hem ook niet op te geven.
Ik heb gemerkt dat action="..." helemaal weglaten zelfs beter werkt dan action="". - Om de actie te starten nadat het formulier is ingevuld gebruik je niet een knop van het type <input
type="submit">, maar een knop van het type <input type="button">. Deze
knop laat je via de event-handler onClick een JavaScript-function starten die de gewenste acties uitvoert.
Het is wel noodzakelijk om deze knop met de muis in te drukken, de "Enter"-toets werkt nu niet.
- Een button om alle velden leeg te maken (dus om helemaal overnieuw te beginnen) is een must in een formulier.
- Als je een apart venster opent voor het formulier is een button om dat venster weer te sluiten ook niet verkeerd...