webForumDet fria alternativet

radiobutton-validering med switch?

9 svar · 317 visningar · startad av Obbelix

ObbelixMedlem sedan okt. 2002257 inlägg
#1

Hej.

Har ett formulär där man "steg-för-steg" väljer saker etc med hjälp av radiobuttons.
Har säg 4st radios i "första nivån" när man väljer ett av valen visas en <div> med nya val osv.
Nu skulle jag vilja kolla med en validering att vissa val är gjorda utifrån vilka radios som är valda.

Har försökt med switch/case, men det verkar inte funka, eller så gör jag fel. Tänkte att det skulle vara enklare/snyggare än att hålla på med massa if/else osv.
Så frågan är om man kan köra switch/case på radioknappar?
typ:

switch(document.form.radio1){
   case "val1": massa saker...
   case "val2": andra saker...
}

<input type="radio" name="radio1" value="val1">Val 1
<input type="radio" name="radio1" value="val2">Val 1
J.N.Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Det är inte så att du har missat break?

http://www.devguru.com/Technologies/ecmascript/quickref/switch.html

OM det går vågar jag inte svara på!

ObbelixMedlem sedan okt. 2002257 inlägg
#3

Nej, break har jag med i det lilla test jag gjort, men det som strular är att jag inte vet om det går att köra switch, och i så fall hur, på radios eftersom man måste loopa å så om man vill få reda på att nåt val är "ikryssat".
Man skulle ju som sagt var kunna köra:

if (document.form.radio[0].checked){
 ....... 
}elseif (document.form.radio[1].checked){
......
}
osv...

Men det skulle bli mer logiskt/snyggare om man kunde fixa det med switch/case.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#4

Denna kod kan kanske falla dig i smaken? :)

for (i=0; i<document.form.radio.length; i++){
    if (document.form.radio[i].checked){
        switch(i){
            case 0: 
                ; //kod ...
                break;
            case 1: 
                ; //kod ...
                break;
            case 2: 
                ; //kod...
                break;
                // osv
        }
    }
}
ObbelixMedlem sedan okt. 2002257 inlägg
#5

Se där ja!

Funkar precis som önskat :) Tackar!

nitro2k01Medlem sedan aug. 20039 342 inlägg
#6

... och acceptera gärna svaret! :)

ObbelixMedlem sedan okt. 2002257 inlägg
#7

sorry... :r

GuffaMedlem sedan juni 2004533 inlägg
#8

Det känns ju lite bakvänt att bygga en så komplicerad kod enbart för att kunna använda switch... Vanliga if-satser är ju mer lämpade för detta:

var r = document.form.radio;
if (r[0].checked) {
	kod...
}
if (r[1].checked) {
	kod...
}
if (r[2].checked) {
	kod...
}
osv...
nitro2k01Medlem sedan aug. 20039 342 inlägg
#9

Killen ville ha en switch, då är det klart att han ska ha en switch!

GuffaMedlem sedan juni 2004533 inlägg
#10

- Och det kan jag tala om för frun direkt, att om Totte kommer till skolan med en if-sats så kommer han att bli till allmänt åtlöje.
- Ja, men det är han redan, för han har så löjliga öron.

;)

132 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)