Vraag & Antwoord

Webprogrammeren & scripting

check radiobutton met javascript

7 antwoorden
  • In een formulier heb ik staan: <input type='radio' name='type' value='vast'> Vast <input type='radio' name='type' value='tijdelijk'> Tijdelijk In de header wordt gecontroleerd of 1 van de 2 is aangevinkt: if (document.form.type.value == "") { alert("Het veld Type mag niet leeg zijn."); return false; } Waarschijnlijk staat er een fout in de controle in de header, want als ik niks aanvink krijg ik geen foutmelding. Wat is er fout?
  • Het probleem is dit: jij controleert de value van te button, maar die is altijd 'Vast' of 'Tijdelijk', dus die is nooit gelijk aan "". Logisch dus dat je geen foutmelding krijgt.
  • Het is een verplicht veld. Er moet gecontroleerd worden of 1 van de 2 opties is aangeklikt, maakt niet uit welke. Als de gebruiker de optie aanklikt, betekent het dat de gebruiker de optie niet per ongeluk over het hoofd heeft gezien bijv.
  • Probeer dit eens. [code:1:ff922a804b] if(!document.getElementsByName('type').checked) { alert('Het veld Type mag niet leeg zijn.'); } [/code:1:ff922a804b]
  • [quote:2f4448d8fa="meneer_ed"]Probeer dit eens. [code:1:2f4448d8fa] if(!document.getElementsByName('type').checked) { alert('Het veld Type mag niet leeg zijn.'); } [/code:1:2f4448d8fa][/quote:2f4448d8fa] Geeft getElementsByName niet een array terug? M.a.w. je zal de losse elementen moeten controleren. [code:1:2f4448d8fa] var typeIsChecked = false; var radios = document.getElementsByName("type"), i = radios.length; while (i--) { typeIsChecked |= radios[i].checked; } alert (typeIsChecked ? "OK" : "Niet OK"); [/code:1:2f4448d8fa]
  • [quote:fb5b2b433a="Annie"] Geeft getElementsByName niet een array terug? M.a.w. je zal de losse elementen moeten controleren.[/quote:fb5b2b433a]Je hebt helemaal gelijk, had het niet volledig getest. :oops:
  • Oplossing gevonden! Het moet zijn:[code:1:f55fc89280] if (!document.form.type.checked) { alert("Het veld Type mag niet leeg zijn."); return false; }[/code:1:f55fc89280]

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.