Avatar billede danisher Nybegynder
04. november 2004 - 16:00 Der er 4 kommentarer og
1 løsning

Vælg kun 3, og kun 3 buttons

Hej alle

Er der nogen der kan hjælpe med noget javascript, som kan validere nogle knapper?

Opsætningen ser således ud:
<input id="1" type="radio" name="1" value="1"/><label for="1">Ledelse</label><br><input id="2" type="radio" name="2" value="2"/><label for="2">Kunder/Marked</label><br><input id="3" type="radio" name="3" value="3"/><label for="3">Omverden</label><br><input id="4" type="radio" name="4" value="4"/><label for="4">Økonomi og interne processer</label><br><input id="5" type="radio" name="5" value="5"/><label for="5">Medarbejdere</label><br><input id="6" type="radio" name="6" value="6"/><label for="6">Regnskabsdata</label><br>

Der skal så vælges min 3 knapper, men der må heller ikke vælges mere end 3 knapper. Kan det lade sig gøre?

Jeg kunne godt tænke mig at man får en fejlbesked ved siden af, hvis valget er forkert. Det er nemlig vigtigt, at man ikke sender til serveren, inden man har valgt 3 punkter...

Er der nogen der kan hjælpe?

På forhånd tak!

Mvh
Avatar billede skovenborg Nybegynder
04. november 2004 - 16:46 #1
Prøv:
<script type="text/javascript">
function valider(frm) {
        antal = 0;
        for (i=1;i<=6;i++) {
            if (frm.elements[i].checked) {antal++;}
        }
        if (antal < 3) {alert("Du skal udfylde tre");return false;}
        else if (antal > 3) {alert("Du må højest udfylde tre");return false;}
        else {return true;}


}
</script>

<form onsubmit="return valider(this);">
<input id="1" type="radio" name="1" value="1"/><label for="1">Ledelse</label><br><input id="2" type="radio" name="2" value="2"/><label for="2">Kunder/Marked</label><br><input id="3" type="radio" name="3" value="3"/><label for="3">Omverden</label><br><input id="4" type="radio" name="4" value="4"/><label for="4">Økonomi og interne processer</label><br><input id="5" type="radio" name="5" value="5"/><label for="5">Medarbejdere</label><br><input id="6" type="radio" name="6" value="6"/><label for="6">Regnskabsdata</label><br>
<input type="submit">
</form>
Avatar billede skovenborg Nybegynder
04. november 2004 - 16:48 #2
Et lille tip ville nu være at lave radio-knapperne om til checkboxe (type="checkbox"), så brugeren i det mindste har mulighed for at afkrydse dem igen. Har ikke lige gidet at gøre det her, men scriptet er det samme ;-)

Forresten må id'er ikke begynde med tal - navne dog må godt, og er egentlig også de eneste som bruges her. Så med mindre du bruger id'erne til noget andet så bare udelad dem eller sæt et bogstav foran.
Avatar billede danisher Nybegynder
04. november 2004 - 16:58 #3
Tak for tippet.. Fandt også lige ud af det..

Mht. id'erne, så er det ASP.net kode, som genererer alt html'en, så det kan jeg ikke lige styre. Jeg sætter bare et ID på, som jeg skal bruge på serveren, og så kører det derfra.
Men jeg skal lige forstå dig ret i, hvad man må... For MÅ man ikke gøre det, eller er det ikke efter HTML 4+ standarten eller hvad?

Point?

Ellers tak!

Mvh
Avatar billede skovenborg Nybegynder
04. november 2004 - 17:11 #4
ja, det er ikke efter standarden (den officielle fra W3C):
http://www.w3.org/TR/REC-html40/types.html#type-id

Men med mindre du gerne vil have den valideret så gør det selvfølgelig ikke den store forskel. Så lad dem bare stå hvis det absolut er.
Avatar billede skovenborg Nybegynder
05. november 2004 - 14:55 #5
og tak for points :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester