Avatar billede cort Nybegynder
18. januar 2001 - 15:06 Der er 5 kommentarer og
2 løsninger

hvor mange checkboxe er udfyldt

Jeg skal bruge noget javascript der checker på hvor mange checkboxe der er selected.

Hvis der er mindre end 12 og flere end 15 skal der ved submit af formen komme en advarsel.

Er der nogen der hjælpe?
Avatar billede jes_petersen Nybegynder
18. januar 2001 - 15:13 #1
Øverst på siden skriver du:

<script language=\"JavaScript\">
var number = parseInt(0);
</script>

Ved hver checkbox laver du følgende onclick-procedure:

onclick=\"if(document.formnavn.checkboxnavn.value==\'on\'){number = parseInt(number)-parseInt(1)}else{number = parseInt(number)+parseInt(1)}\"

Det skulle gerne virke - kan ikke helt huske om det skal være omvendt med + og -
Avatar billede cort Nybegynder
18. januar 2001 - 15:17 #2
Fint hvor er det så lige at man får at vide hvor mange checkboxe der er afkrydset?
Avatar billede jes_petersen Nybegynder
18. januar 2001 - 16:33 #3
Hvis du f.eks. vil have det at vide i en lille messagebox, skriver du bare:

<a href=\"#\" onclick=\"var text = \'Antal afkrydsede checkboxe: \'+ number;alert(text);\"
Avatar billede cort Nybegynder
18. januar 2001 - 17:54 #4
Et lille tillægs spørgsmål så skal du nok få dine point og lidt til:

hvis jeg lægger det hele ind såen her:

<script language=\"JavaScript\">
var number = parseInt(0);

function med()
{
    if (number < 12 | number > 15) {
        alert(\'Du har valgt: \'+ number+\' ryttere\\nDu skal vælge mellem 12 og 15 ryttere\');
        return false;
    }
return true;
}

</script>

og kalder med() i formens onsubmit
hvorfor er det så at formen alligevel bliver submittet?

Avatar billede jes_petersen Nybegynder
18. januar 2001 - 18:42 #5
Jeg var selv ude for samme problem forleden dag, men fik ikke rigtig nogen løsning. I stedet vil jeg foreslå, at du gør følgende:

<script language=\"JavaScript\">
var number = parseInt(0);

function med()
{
var formok = \"true\";

    if (number < 12 | number > 15) {
        alert(\'Du har valgt: \'+ number+\' ryttere\\nDu skal vælge mellem 12 og 15 ryttere\');
        formok = \"false\";
        return false;
    }

if(formok == \"true\"){
document.formnavn.submit();
}
}

</script>


Så skal du lade være med at kalde med() i formens onsubmit, men i stedet slette submit-knappen og lave følgende:

<button name=\"submit\" onclick=\"med();\">Ok</button>
Avatar billede ldanielsen Nybegynder
20. januar 2001 - 12:22 #6
Skal vi ikke have en formløkke:


function numberOfChecked(f){
  n = 0
  for (i=0;i<f.elements.length;i++){
    if (f.elemnts(i).checked == true) n++
    }
  return n
  }

alert(numberOfChecked(document.myForm)

Jeg tester det lige. Måske kan du ikke spørge om checked for elementer der ikke har den property
Avatar billede ldanielsen Nybegynder
20. januar 2001 - 12:30 #7
Her er den, testet:

<html>

<head>
<meta http-equiv=\"Content-Type\"
content=\"text/html; charset=iso-8859-1\">
<title>test</title>
</head>

<body bgcolor=\"#FFFFFF\">

<form method=\"POST\" name=\"myForm\">
<p>

<input type=\"checkbox\" name=\"C1\">
<input type=\"checkbox\" name=\"C2\">
<input type=\"checkbox\" name=\"C2\">

<input type=\"button\" value=\"test\" onclick=\"alert(numberOfChecked(document.myForm))\">
</p>
</form>
<script language=\"javascript\">
function numberOfChecked(f){
n = 0
for (i=0;i<f.elements.length;i++){
if (f.elements(i).checked == true) n++
}
return n
}
</script>
</body>
</html>
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