login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Probleem met het valideren van een inschrijvingsformulier

Offline bassman - 11/10/2004 11:37
Avatar van bassmanNieuw lid Hoi,

Korte schets van het probleem:

Bij het verplicht maken via javascript om een keuze te maken in de twee dropdown-menuutjes in het inschrijvingsformulier voor ons tornooi... De eerste veldjes met het rode uitroepingsteken ! zijn verplicht in te vullen. dat lukt allemaal tot de eerste twee dropdown-menutjes waar ze verplicht zijn een keuze te maken voor hun klassement als voor hun reeks enkel.

het laatste vinkje (voor akkoord is ook verplicht aan te vinken, maar dat is al in orde)

Ik krijg echter telkens een foutmelding: http://users.sk...elding.gif


hier is de link naar het formulier http://users.sk...mulier.htm

dit is het laatste stuk van de code van het javascript:

}
if (form.Klassement.options[form.Klassement.selectIndex].value == "") {
alert( "Gelieve uw huidig klassement aan te duiden." );
form.Klassement.focus();
return false ;
}
if (form.ReeksEnkel.options[form.ReeksEnkel.selectIndex].value == "") {
alert( "Gelieve uw gewenste reeks enkel aan te duiden." );
form.ReeksEnkel.focus();
return false ;
}
if (form.akkoord.checked == "") {
alert( "U dient u nog akkoord te verklaren met de reglementen. Doe dit door het laatste vakje aan te kruisen." );
form.akkoord.focus();
return false ;
}
return true ;
}
//-->
</SCRIPT>

en dit staat in dit is de code van de dropdown-menuutjes...
[code]<tr>
<td width="260" valign="top">Uw huidig Klassement <b><font color="#FF0000">!</font></b></td>
<td><select name="Klassement">
<option selected></option>
<option >D</option>
<option>C2</option>
<option>C1</option>
<option>B2</option>
<option>B1</option>
</select></td>
</tr>
</table>
<br>

<table width="600">
<tr>
<td>Reeks Enkel <b><font color="#FF0000">!</font></b></td>
<td>
<select name="ReeksEnkel">
<option selected></option>
<option>D</option>
<option>C2</option>
<option>C1</option>
<option>B2</option>
<option>B1</option>
</select><br><br>
</td>
</tr>

Ziet iemand in waarom dit niet wil lukken?
Alvast bedankt voor jullie deskundige hulp!

Vriendelijke groeten

16 antwoorden

Gesponsorde links
Offline TriX - 11/10/2004 11:41
Avatar van TriX HTML interesse Je geeft geen waarde mee... je ziet dat ie een fout geeft bij:
Klassement.option[...]
Waarschijnlijk heeft deze een standaard waarde nodig... maar die moet je dan wel meegeven...

Michel
Offline bassman - 11/10/2004 11:43
Avatar van bassman Nieuw lid hoe denk jij dat ik dit kan oplossen?
welke waarde zou dit dan moeten zijn?

de eerste <option> is een blanco. moet hier dan wel iets ingevuld staan? Ik heb hier weinig ervaring mee...

alvast bedankt
Bassman
Offline TriX - 11/10/2004 11:57
Avatar van TriX HTML interesse ik heb er ook weinig ervaring mee... maar ik zie wel dat je geen waarde mee geeft en die heeft ie wel nodig... je moet ff goed kijken wat je precies voor waarde nodig hebt en waarom...

Michel
Offline bassman - 11/10/2004 12:06
Avatar van bassman Nieuw lid hm....

het probleem is, ze moeten een keuze maken door hun huidig klassement én minstens hun gewenste reeks enkel in te geven. anders kunnen ze niet geldig inschrijven voor het tornooi.

vandaar dat ik de eerste <option> blanco heb gelaten.

help!
iemand?
Offline Gml - 11/10/2004 13:58 (laatste wijziging 11/10/2004 13:59)
Avatar van Gml HTML beginner Een option heeft altijd een value

Ik denk dat Javascript daarom vraagt.

<option value="1">tekstje</option>
<option value="2">tekstje2</option>

Die value is een soort id. In jou geval istie dus altijd leeg omdat je geen id hebt opgegeven.
Offline bassman - 11/10/2004 14:13
Avatar van bassman Nieuw lid Ik heb het een beetje aangepast:
overal een bij de eerste twee dropdowntjes een id toegevoegd en de eerste
http://users.sk...mulier.htm
Offline numlockrond - 11/10/2004 14:17
Avatar van numlockrond Onbekend value mag gewoon "" zijn (niks dus)

De fout:
  1. form.Klassement.options[form.Klassement.selectIndex].value
  2. ^^^


moet zijn:
  1. form.Klassement.options[form.Klassement.selectedIndex].value
  2. ^^^^^
Offline bassman - 11/10/2004 14:19
Avatar van bassman Nieuw lid inderdaad!
al aangepast, ge-fpt'ed en gecheckt!

HEEEEEEL grote merci!


dit soort foutjes had ik echter nooit gevonden!
greetz!
Bassman
Offline Gml - 11/10/2004 14:24 (laatste wijziging 11/10/2004 14:25)
Avatar van Gml HTML beginner form.Klassement.options.value

dis nog makkelijker, haalt ie de waarde op die je hebt geselecteerd

Offline bassman - 11/10/2004 14:29
Avatar van bassman Nieuw lid Yep, you're right!
groten thanx Gml!

ps: enkel ter info, wat is het verschil in de werking tussen?


form.Klassement.options[form.Klassement.selectedIndex].value

en

form.Klassement.options.value
Offline numlockrond - 11/10/2004 14:38 (laatste wijziging 11/10/2004 14:42)
Avatar van numlockrond Onbekend het verschil is, dat de ene (met selectedIndex) goed is en de andere niet. options is een array en dan moet je dus een index opgeven als je een waarde wilt uitlezen.

Ik weet niet of je php kunt (Gml wel een beetje d8 ik), maar als je dit doet:
  1. <?php
  2.  
  3. $test = array("1", "2", "3");
  4.  
  5. echo $test;
  6.  
  7. ?>


krijg je ook niet de 1e waarde ofzo. Je krijgt dan Array oid te zien.

Probeer het maar eens met een fatsoenlijke browser (Firefox bijv).
form.Klassement.options.value geeft "undefined" en de andere manier werkt gewoon.
Offline Gml - 11/10/2004 14:44 (laatste wijziging 11/10/2004 14:49)
Avatar van Gml HTML beginner form.Klassement.options.value

haalt gewoon de waarde op die je hebt geselecteerd in IE dan

wist niet dat het dan niet in FireFox werkt, heb namelijk op m'n werk alleen IE tot m'n beschikking. Maar idd Mozilla of Firefox is veel beter met dit soort dingen.
Offline numlockrond - 11/10/2004 14:53 (laatste wijziging 11/10/2004 14:53)
Avatar van numlockrond Onbekend te lui om m'n hele bericht door te lezen?? Dan nog maar een berichtje:

ik zie dat hij het nu veranderd heeft in form.Klassement.options.value. Als ik alles t/m VBL-nr invul (en dus geen klassement of reeks kies) en ik klik op inschrijven, krijg ik deze melding:
Citaat:
U dient u nog akkoord te verklaren met de reglementen. Doe dit door het laatste vakje aan te kruisen.

het werkt dus niet (ik surf met Firefox)

Edit: voor je weer domme vragen gaat stellen: Toen hij het veranderd had in selectedIndex werkte het wel.
Offline Gml - 11/10/2004 16:00 (laatste wijziging 11/10/2004 16:01)
Avatar van Gml HTML beginner ik je heb je berichtje wel degelijk gelezen. Als hij het goed wil doen moet ie het ook weer terug veranderen.

Ik liet alleen weten dat ik niet wist, en ook niet kon testen, dat het in Mozilla/FireFox niet werkt.
Thuis surf ik met Mozilla en dan had ik de oplossing die ik nu gaf niet eens gepost.
Offline numlockrond - 11/10/2004 16:59
Avatar van numlockrond Onbekend als ik nu kijk naar de tijden zie ik dat je je berichtje al gewijzigd had voordat ik reageerde, maar toen zag ik alleen dit: 
Citaat:
form.Klassement.options.value

haalt gewoon de waarde op die je hebt geselecteerd....?
Offline Gml - 11/10/2004 17:08
Avatar van Gml HTML beginner Dat klopt, had je bericht te snel doorgelezen...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.319s