Avatar billede muffa Nybegynder
04. juni 2002 - 17:47 Der 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++

På forhånd tak!

//Muffa
Avatar billede jakoba Nybegynder
04. juni 2002 - 18:17 #1
for ( i=1; i<=43; i++ ) {
    if ((skema['sp'+i][0].checked) || (skemaskema['sp'+i][1].checked))
        taeller++
}

mvh JakobA
Avatar billede jakoba Nybegynder
04. juni 2002 - 18:18 #2
Ups.  skemaskema -> skema
Avatar billede muffa Nybegynder
04. juni 2002 - 18:39 #3
Jeg går ud fra at der mangler et "." efter skema, men stadig den virker ikke. Får en fejl med at der forventet ID i den linie.

if ((skema.['sp'+i][0].checked) || (skema.['sp'+i][1].checked))
  taeller++

Hvad kan der være galt?
Avatar billede jakoba Nybegynder
04. juni 2002 - 21:49 #4
Nej, der skal definitivt ikke . foran [
Avatar billede jakoba Nybegynder
04. juni 2002 - 21:52 #5
men prøv evt denne:

for ( i=1; i<=43; i++ ) {
    var rsaet = document.skema['sp'+i];
    if ( rsaet[0].checked || rsaet[1].checked))
        taeller++
}
Avatar billede muffa Nybegynder
04. juni 2002 - 22:14 #6
Niks det virker ikke :(
Avatar billede muffa Nybegynder
04. juni 2002 - 22:31 #7
Det er noget værre lort. jeg fatter det ikke
Avatar billede jakoba Nybegynder
04. juni 2002 - 22:32 #8
det virker ganske pænk for mig ? prøv at kikke i sourcen og se hvad du gør anderledes.
http://www.jakoba.dk/eksperten/exp220264.html

mvh JakobA
Avatar billede muffa Nybegynder
04. juni 2002 - 22:36 #9
kan det være fordi jeg har en value="nej" og value="ja" tilknyttet de input felter?
Avatar billede jakoba Nybegynder
04. juni 2002 - 22:42 #10
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?

læg evt siden ud på nettet så jeg kan kikke
Avatar billede mikoalngelo Nybegynder
04. juni 2002 - 22:42 #11
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();">

<FORM NAME="formen" onclick="Skriv();"><INPUT TYPE="checkbox" NAME="a1"><INPUT TYPE="checkbox" NAME="a2"><INPUT TYPE="checkbox" NAME="a3"><INPUT TYPE="checkbox" NAME="a4"><INPUT TYPE="checkbox" NAME="a5"><INPUT TYPE="checkbox" NAME="a6"><INPUT TYPE="checkbox" NAME="a7"><INPUT TYPE="checkbox" NAME="a8"></FORM>
<SCRIPT TYPE="text/javascript">
<!--
Strengen = new String();
function Skriv(){
    for (a=0; a < document.forms[0].length; a++){
        Strengen += document.forms[0].elements[a].checked + '&nbsp;&nbsp;&nbsp;'
    }
    DIVen.innerHTML = Strengen
    Strengen = ''
}
// -->
</SCRIPT>
<DIV id="DIVen"></DIV>

</BODY>
</HTML>

Eller vil du hellere have en færdig kode ud fra nogle oplysninger?
Avatar billede muffa Nybegynder
04. juni 2002 - 22:44 #12
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;
Avatar billede muffa Nybegynder
04. juni 2002 - 22:46 #13
Hvordan giver jeg dig pointene JakobA?
Avatar billede jakoba Nybegynder
04. juni 2002 - 22:54 #14
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?" :-))

mvh JakobA
Avatar billede muffa Nybegynder
04. juni 2002 - 22:58 #15
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 :(|)" );

  }
}
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