Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

check radiobutton met javascript

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.