Vraag & Antwoord

Webprogrammeren & scripting

check radiobutton met javascript

Anoniem
Annie
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

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