Hallo,
Ik probeer een simpele formulier validatie voor elkaar te krijgen. Ik heb al voor elkaar dat ik de 'submit' event aan mijn formulier heb gekoppelt, echter wanneer ik op verzenden klik en ik false retourneer wordt mijn formulier alsnog verzonden.
Als eerste de html opzet zoals ik die nu heb.
Ik heb een extern javascript aan dit formulier gekoppeld.
Wanneer ik echter in het formulier de volgende code zou plaatsen voor de form tag:
Dan gaat het wel zoals het moet.
De vraag: Hoe komt het dat mijn formulier, na het false retourneren, alsnog verzonden worden.
Ik test dit in: Opera 9.6 en Firefox 3.
Ik probeer een simpele formulier validatie voor elkaar te krijgen. Ik heb al voor elkaar dat ik de 'submit' event aan mijn formulier heb gekoppelt, echter wanneer ik op verzenden klik en ik false retourneer wordt mijn formulier alsnog verzonden.
Als eerste de html opzet zoals ik die nu heb.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <form method="post" action="index.html" id="contact-form"> <fieldset> <legend>Gegevens</legend> <dl> <dt><label for="naam">Naam:</label>*</dt> <dd><input id="naam" class="inputbox" name="naam" type="text" value="" /></dd> </dl> <dl> <dt><label for="email">E-mail:</label>*</dt> <dd><input id="email" class="inputbox" name="email" type="text" value="" /></dd> </dl> <dl> <dt><label for="onderwerp">Onderwerp:</label>*</dt> <dd><input id="onderwerp" class="inputbox" name="onderwerp" type="text" value="" /></dd> </dl> </fieldset> <fieldset> <legend>Bericht</legend> <p><textarea id="bericht" class="inputbox" cols="30" rows="10" name="bericht"></textarea></p> </fieldset> <fieldset> <p><input id="submitcontact" name="submitcontact" class="button1" type="submit" value="Verstuur" /> <input id="reset-form" type="reset" class="button1" value="Begin opnieuw" /></p> </fieldset> </form> |
Ik heb een extern javascript aan dit formulier gekoppeld.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| /** * Validate contact form before sending */ function validateForm() { window.alert('Functie wordt aangeroepen'); return false; } /** * initialise form validation */ function initContact() { var contactForm = document.getElementById('contact-form'); if (contactForm) { if (contactForm.attachEvent) { contactForm.attachEvent('onsubmit', function() {return validateForm();}); return; } if (contactForm.addEventListener) { contactForm.addEventListener('submit', function() {return validateForm();}, false); } } else { window.alert('Form does not exist'); } } window.onload = initContact; |
Wanneer ik echter in het formulier de volgende code zou plaatsen voor de form tag:
code:
1
| <form method="post" action="index.html" id="contact-form" onsubmit="return validateForm();"> |
Dan gaat het wel zoals het moet.
De vraag: Hoe komt het dat mijn formulier, na het false retourneren, alsnog verzonden worden.
Ik test dit in: Opera 9.6 en Firefox 3.