04. juni 2002 - 17:47Der er
14 kommentarer og 1 løsning
Check af radio buttons ved af en løkke
Problemet: 43 spørgsmål med enten svar mulig for ja/nej. Istedet for at lave en if sætning for hvert spørgsmål, er det muligt at lave en løkke der gennemløber alle 43 spørgsmål? Svaret er sikkert simpel, men jeg er en abe til java.
Eksempel med 3 spørgsmål (som det kan ses er det kun radioknappernes navn der ændrer sig):
if ((skema.sp1[0].checked) || (skema.sp1[1].checked)) taeller++ if ((skema.sp2[0].checked) || (skema.sp2[1].checked)) taeller++ if ((skema.sp3[0].checked) || (skema.sp3[1].checked)) taeller++
nej, det gør ingen forskel. i dit eksempel ovenfor er der kun 3, ku det være du kun har 3 i den form du tester? så skal forløkken ikke gå til 43. er alle navne stavet præcis sådan? samme store og små bogstaver <form name='skema' <input name='sp1' osv? husker du at sætte taeller = 0 allerførst?
Prøv dette her, så kan du selv rode med det: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <TITLE>Skriv checkboxenes indhold</TITLE> </HEAD> <BODY onload="Skriv();">
jeg har taget dit eksempel og det virker, men får at jeg kan blive klogere, så vil jeg godt spørge om hvad onsubmit="return false" gør, samt hvad den her linie gør return taeller;
den har jeg sat ind fordi det er en demo side. Der er ingen fornuft i nogensiden at submitte den form. og når onsubmit handleren sådan returnerer false risikerer vi ikke at formen bliver submittet ved en fejltagelse.
Før du bare råkopierer min version, så prøv at hitte ud af hvad præcis det er der får det til ikke at virke i din egen side. Det er trælst at sådan gå det hele igennem, men man lærer faktisk af det. (og dejligt når man endelig siger "Nå derfor!!! Mand hvordan kunne jeg have overset det?" :-))
Løsningen blev det her som virker, ved ikke helt hvorfor den gør det og jeg er for træt til at finde ud af det nu. men mange tak for hjælpen.
function check2() { var antal_svar = 7 taeller = 0;
for ( i=1; 10>=i; i++ ) { var rsaet = document.skema['sp'+i]; if ( rsaet[0].checked || rsaet[1].checked ) taeller++; }
if ((taeller) != (antal_svar)) { alert( "java er sq ikke for børn :(|)" );
} }
Synes godt om
Ny brugerNybegynder
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.