Avatar billede Slettet bruger
17. maj 2001 - 16:07 Der er 21 kommentarer og
1 løsning

Check om 3 er ok!

Hejsa!

Nogen der har et javascript som checker om 3 bestem check boxes er checked?
Avatar billede olebole Juniormester
17. maj 2001 - 16:11 #1
<ole>
Ja, hvis vi kan se koden...smid evt. en URL :o)
/mvh
</bole>
Avatar billede olebole Juniormester
17. maj 2001 - 16:12 #2
...og en beskrivelse af, hvilke checkbokse, du vil teste på
Avatar billede nikolajdu Nybegynder
17. maj 2001 - 16:15 #3
if (document.formNavn.Checkbox=checked){gør et aller andet}

noget i den stil. Ole kan siker rette det til for dig. Nu vil jeg sgu lægge mig lidt igen. har en del Hangovers. (Til Lykke LIVERPOOL!!!! *ggg*)
Avatar billede olebole Juniormester
17. maj 2001 - 16:24 #4
Hehe....så må det vist være:
  if (document.formNavn.Checkbox.checked) {gør et aller andet}
Avatar billede Slettet bruger
17. maj 2001 - 16:31 #5
Her kommer noget kode!

<html>
<head>
<script type=\"text/javascript\">
var i = 0;
function tjek(n) {
    if (n.checked == true) i ++;
    if (n.checked == false) i --;
    if (i > 3) {
        if (n.name != \'a1\' && n.name !=\'a2\') {
            if (document.formen.a1.checked == true) {
                document.formen.a1.checked = false;
                i --
            }
            else {
                document.formen.a2.checked = false;
                i --
            }
        }
        else if (n.name != \'a2\' && n.name !=\'a3\') {
            if (document.formen.a2.checked == true) {
                document.formen.a2.checked = false;
                i --
            }
            else {
                document.formen.a3.checked = false;
                i --
            }
        }
        else if (n.name != \'a3\' && n.name !=\'a4\') {
            if (document.formen.a3.checked == true) {
                document.formen.a3.checked = false;
                i --
            }
            else {
                document.formen.a4.checked = false;
                i --
            }
        }
    }
}
</script>
</head>
<body background=\"pics/baggrund.gif\">
<br><br><br><br><br><br>
<table width=\"700\"><tr><td>
<center>
<form name=\"formen\">
<table width=\"550\">
<tr>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a1\" onclick=\"tjek(this)\"></td>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a2\" onclick=\"tjek(this)\"></td>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a3\" onclick=\"tjek(this)\"></td>
</tr>
</table>
<br>
<table width=\"550\">
<tr>
<td width=\"50%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a4\" onclick=\"tjek(this)\"></td>
<td width=\"50%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a5\" onclick=\"tjek(this)\"></td>
</tr>
</table>

</form>

</td></tr>
</table>








</body>

</html>
Avatar billede Slettet bruger
17. maj 2001 - 16:32 #6
En pop up box ville være ok, eller en videre sendelse til en anden side som siger at det er forkort.

Svarer men så rigtigt, sendes man til en tredie side....
Avatar billede olebole Juniormester
17. maj 2001 - 16:35 #7
...og så forklaringen på, hvad du vil...?  :o)
Avatar billede Slettet bruger
17. maj 2001 - 16:37 #8
Ok.. Der skal være en sumbit knap..

Når man trykker på den skal den tjekke om 3 bestem er checked, hvis nej, skal man sendes til en prøv-igen-side /eller en pop up box/.

Er det de rigtig man har markeret, skal man sendes en det-var-flot-side...

ok?
Avatar billede olebole Juniormester
17. maj 2001 - 16:43 #9
Mmmmmm......og hvilke er de rigtige?
Avatar billede jakoba Nybegynder
18. maj 2001 - 12:26 #10
<script>

var rigtige = new Array( \"sulten\", \"olsen\", \"trediedele\" );
                      // navnene på de 3 \'rigtige\' valg

function check3 ( frm ) { //check om netop ovenstående 3 checkboxe er valgt
  var fe = frm.elements;
  var antalOk = 0;
  for ( var i=0; fe.length>i; i++ ) {
      if ( fe[i].type == \"checkbox\" && fe[i].checked ) {
        for ( var j=0; rigtige>j; j++ )
          if ( fe[i].name == rigtige[j] ) {
            antalOk += 1;
            break;
          };
        if ( j == 3 ) return false; // fejl: en forkert checkbox er valgt
      }
  };
  if ( antalOk != rigtige.length )
      return false;                // fejl: ikke alle rigtige er valgt
  return true;                    // success: præcis de 3 er valgt
}; //end check3 ( Form objekt ) -> boolean

</script>
Avatar billede jakoba Nybegynder
18. maj 2001 - 12:29 #11
Ups. som secvanligt :(  2 linier er forkerte

        for ( var j=0; rigtige>j; j++ )
skal være:
        for ( var j=0; rigtige.length>j; j++ )

og:
        if ( j == 3 ) return false; // fejl: en forkert checkbox er valgt
skal være:
        if ( j == rigtige.length ) return false; // fejl: en forkert checkbox er valgt

mvh JakobA
Avatar billede Slettet bruger
18. maj 2001 - 13:01 #12
Skal det sætte ind i head?

Hvor skal jeg sætte submit knappen?

Avatar billede jakoba Nybegynder
18. maj 2001 - 15:00 #13
ja, det skal stå i head.
I din form skal du have en  onsubmit= i din <form kommando

<form ... onsubmit=\"return check3( this )\">

er du tørstig
<input type=\'checkbox\' name=\"tørstig\">
og/eller sulten
<input type=\'checkbox\' name=\"sulten\"><br>

hedder din onkel jensen?
<input type=\'checkbox\' name=\"jensen\"><br>

hedder din tante olsen?
<input type=\'checkbox\' name=\"olsen\"><br>

bruger du bebbe hjerne-halvdele?
<input type=\'checkbox\' name=\"halvdele\"><br>

trediedele? <input type=\'checkbox\' name=\"trediedele\">
kvarte? <input type=\'checkbox\' name=\"fjerdedele\"><br>

og vel en masse andre input felter :)

<input type=\'submit\' value=\"check (og send hvis OK)\">
</form>
Avatar billede phrozia Juniormester
23. maj 2001 - 10:01 #14
Hmm.. hvad gør jeg lige galt?

<html>
<head>
<script type=\"text/javascript\">
var i = 0;
function tjek(n) {
    if (n.checked == true) i ++;
    if (n.checked == false) i --;
    if (i > 3) {
        if (n.name != \'a1\' && n.name !=\'a2\') {
            if (document.formen.a1.checked == true) {
                document.formen.a1.checked = false;
                i --
            }
            else {
                document.formen.a2.checked = false;
                i --
            }
        }
        else if (n.name != \'a2\' && n.name !=\'a3\') {
            if (document.formen.a2.checked == true) {
                document.formen.a2.checked = false;
                i --
            }
            else {
                document.formen.a3.checked = false;
                i --
            }
        }
        else if (n.name != \'a3\' && n.name !=\'a4\') {
            if (document.formen.a3.checked == true) {
                document.formen.a3.checked = false;
                i --
            }
            else {
                document.formen.a4.checked = false;
                i --
            }
        }
    }
}
</script>

<script>

var rigtige = new Array( \"a1\", \"a2\", \"a3\" );
                      // navnene på de 3 \'rigtige\' valg

function check3 ( frm ) { //check om netop ovenstående 3 checkboxe er valgt
  var fe = frm.elements;
  var antalOk = 0;
  for ( var i=0; fe.length>i; i++ ) {
      if ( fe[i].type == \"checkbox\" && fe[i].checked ) {
        for ( var j=0; rigtige>j; j++ )
          if ( fe[i].name == rigtige[j] ) {
            antalOk += 1;
            break;
          };
        if ( j == 3 ) return false; // fejl: en forkert checkbox er valgt
      }
  };
  if ( antalOk != rigtige.length )
      return false;                // fejl: ikke alle rigtige er valgt
  return true;                    // success: præcis de 3 er valgt
}; //end check3 ( Form objekt ) -> boolean

</script>

</head>
<body background=\"pics/baggrund.gif\">
<br><br><br><br><br><br>
<table width=\"700\"><tr><td>
<center>
<form name=\"formen\" onsubmit=\"return check3( this )\">
<table width=\"550\">
<tr>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a1\" onclick=\"tjek(this)\"></td>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a2\" onclick=\"tjek(this)\"></td>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a3\" onclick=\"tjek(this)\"></td>
</tr>
</table>
<br>
<table width=\"550\">
<tr>
<td width=\"50%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a4\" onclick=\"tjek(this)\"></td>
<td width=\"50%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a5\" onclick=\"tjek(this)\"></td>
</tr>
</table>

<input type=\'submit\' value=\"check (og send hvis OK)\">
</form>

</td></tr>
</table>


</body>

</html>
Avatar billede Slettet bruger
23. maj 2001 - 10:31 #15
function check3 ( frm ) { //check om netop ovenstående 3 checkboxe er valgt

Skal ændres til

function check3 ( formen ) { //check om netop ovenstående 3 checkboxe er valgt

Men jeg kan ikke få den til at give en popup box, eller sende mig til en anden side...
Avatar billede delphimann Nybegynder
23. maj 2001 - 10:33 #16
må det være i PhP
Avatar billede Slettet bruger
23. maj 2001 - 10:35 #17
Og man skal lige rette de to linjer...

Men jeg kan stadig ikke få det til at virke.
Avatar billede delphimann Nybegynder
23. maj 2001 - 10:36 #18
oki så fiks det sådan

kald dine bokse b1 b2 og b3
og post det til en fil der siger
<?
if($b3){
#result
}else{
#ikke result
}
<?
Avatar billede Slettet bruger
23. maj 2001 - 10:36 #19
Ja.. det er ligemeget....
Avatar billede delphimann Nybegynder
23. maj 2001 - 10:44 #20
</head>
<body background=\"pics/baggrund.gif\">
<br><br><br><br><br><br>
<table width=\"700\"><tr><td>
<center>
<form name=\"formen\" mehod=\"PosT\" action=\"test.php\">
<table width=\"550\">
<tr>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a1\" onclick=\"tjek(this)\"></td>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a2\" ></td>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"b3\" ></td>
</tr>
</table>
<br>
<table width=\"550\">
<tr>
<td width=\"50%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a4\"></td>
<td width=\"50%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a5\" onclick=\"tjek(this)\"></td>
</tr>
</table>

<input type=\'submit\' value=\"check (og send hvis OK)\">
</form>

</td></tr>
</table>


</body>

</html>

så dan så tager du og gemmer
<?
if($b3){
#result
}else{
#ikke result
}
<?
i en fil du kalder test.php *Ss* ;-)
Avatar billede delphimann Nybegynder
23. maj 2001 - 11:18 #21
  </head>
<body background=\"pics/baggrund.gif\">
<br><br><br><br><br><br>
<table width=\"700\"><tr><td>
<center>
<form name=\"formen\" mehod=\"PosT\" action=\"test.php\">
<table width=\"550\">
<tr>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"b1\" ></td>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"b2\" ></td>
<td width=\"33%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"b3\" ></td>
</tr>
</table>
<br>
<table width=\"550\">
<tr>
<td width=\"50%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a4\"></td>
<td width=\"50%\"><center><img src=\"pics/bowl.gif\"><br><input type=\"checkbox\" name=\"a5\"></td>
</tr>
</table>

<input type=\'submit\' value=\"SubMit\">
</form>

</td></tr>
</table>


</body>

</html>

så dan så tager du og gemmer
<?
if($b3 && $b2 && $b3){
#result
}else{
#ikke result
}
?>

Så skal de 3 chekboske der hedder b1 b2 og b3 være sande så vil der ske result *ss*
Avatar billede Slettet bruger
23. maj 2001 - 12:43 #22
Det virker bare som det skal! :)
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