Avatar billede kaptajnknas Nybegynder
26. juni 2003 - 11:27 Der er 18 kommentarer og
1 løsning

Sæt chekbox true

Hej,
Jeg har 10 chekboxe, hvor alle skal sættes til true (hakkes af) ved klik på en knap eller et link, hvordan kan det laves?
Avatar billede erikjacobsen Ekspert
26. juni 2003 - 11:31 #1
<FORM METHOD=POST ACTION="">
<INPUT TYPE="checkbox" NAME="c1">
<INPUT TYPE="checkbox" NAME="c2">
<input type="button" onclick="this.form.c1.checked=true;this.form.c2.checked=true">
</FORM>
Avatar billede edutasia Nybegynder
26. juni 2003 - 11:46 #2
Denne funktion finder alle checkbokse på siden og sætter "checked" til enten true eller false - afhængigt af, om parameteren boolChecked er true eller false:

<script>
function toggleCheckBoxes(boolChecked) {
  var coll = document.getElementsByTagName('INPUT');
  for (var i=0; i<coll.length; i++) {
    if (coll[i].type = 'checkbox') coll[i].checked = boolChecked;
    }
}
</script>

Eksempel på link, der markerer alle:

  <a href="#" onclick="toggleCheckBoxes(true)">Marker alle</a>

Eksempel på link, der fjerner alle markeringer:

  <a href="#" onclick="toggleCheckBoxes(false)">Fjern alle markeringer</a>
Avatar billede kaptajnknas Nybegynder
26. juni 2003 - 11:59 #3
Hmm, jeg får script fejl på siden, i begge tilfælde.
" Et objekt var ventet "
Avatar billede edutasia Nybegynder
26. juni 2003 - 12:05 #4
Jeg har lagt en fungerende demo ud på:

http://www.edutasia.dk/eksp/369478.html
Avatar billede roenving Novice
26. juni 2003 - 16:04 #5
>>kaptajnknas 11:59:08

-- så har du ændret i koden på en forkert måde !-)
Avatar billede kaptajnknas Nybegynder
26. juni 2003 - 17:45 #6
Ok, jeg fandt ud af at hvis jeg sletter flg. som jeg også har på siden, så virker det, men det må vel nok kunne lade sig gøre at beholde denne linie:

onclick="return confirm('Slet valgte?');"
Avatar billede edutasia Nybegynder
26. juni 2003 - 19:53 #7
Ja, det skulle da nok kunne lade sig gøre - men hvad har det egentlig med markering af checkbokse at gøre? Tilhører det ikke en slet-funktion, man kan aktivere, EFTER at man har valgt nogle checkbokse?
Avatar billede roenving Novice
27. juni 2003 - 00:41 #8
onclick er ikke født til at svare tilbage -- du forventer heller ikke et nej eller et ja, når du taster din pinkode ind i dankortautomaten og trykker godkendt -- den skal udføre en hel masse, som ender med at du har betalt !-)
Avatar billede kaptajnknas Nybegynder
27. juni 2003 - 00:44 #9
jo, det er rigtigt, linien onclick="return confirm('Slet valgte?');"
tilhører en anden funktion på siden, det er bare mærkeligt at denne skal fjernes for at jeg ikke får fejl på checkboks funktionen ?
Avatar billede roenving Novice
27. juni 2003 - 01:34 #10
Så må du have den onclick på et element, som bliver påvirket når du har fat i dine checkboxes ...

-- f.eks. en div som tingene ligger inde i -- hvis du prøver på at fange en event på et overordnet element, skal man være opmærksom på hvordan handlingen evt. sendes videre i hierarkiet !-)
Avatar billede kaptajnknas Nybegynder
27. juni 2003 - 15:45 #11
Nu ved jeg præcis hvornår der opstår fejl, nemlig så snart der indsættes en submit knap <input type="submit" value="Slet valgte"> så går der scriptfejl på siden, hvordan kan det undgåes?
Avatar billede roenving Novice
27. juni 2003 - 15:51 #12
Ligger den submit i samme form ?-)

Har den form noget onsubmit ?-)

-- har ikke ideer men prøver bare at problematisere, men ikke så kvalificeret, når det ikke kan ses ...
Avatar billede kaptajnknas Nybegynder
27. juni 2003 - 15:55 #13
jo, submiten ligger i samme form.
Avatar billede roenving Novice
27. juni 2003 - 16:02 #14
Kan du vise hvordan det, som fejler ser ud ?o]
Avatar billede kaptajnknas Nybegynder
27. juni 2003 - 16:37 #15
Prøv scriptet i Frontpage eller i din browser, i øvrigt kan jeg sige at der opstår fejl uanset hvilken formular type der tilføjes udover check-forms.

------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0039)http://www.edutasia.dk/eksp/369478.html -->
<HTML><HEAD><TITLE>Checkbokse</TITLE>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<SCRIPT>
function toggleCheckBoxes(boolChecked) {
  var coll = document.getElementsByTagName('INPUT');
  for (var i=0; i<coll.length; i++) {
    if (coll[i].type = 'checkbox') coll[i].checked = boolChecked;
    }
}
</SCRIPT>

<META content="Microsoft FrontPage 4.0" name=GENERATOR></HEAD>
<BODY>Denne funktion finder alle checkbokse på siden og sætter checked til enten
true eller false - afhængigt af, om parameteren boolChecked er lig med true
eller false:
<P>Eksempel på link, der markerer alle:
<P><a href="#" onclick="toggleCheckBoxes(true)">Marker alle</a>
<P>Eksempel på link, der fjerner alle markeringer:
<P><a href="#" onclick="toggleCheckBoxes(false)">Fjern alle markeringer</a>
<FORM method=post><INPUT type=checkbox>Test 1<BR><INPUT type=checkbox>Test
2<BR><INPUT type=checkbox>Test 3<BR><INPUT type=checkbox>Test 4<BR><INPUT
type=checkbox>Test 5<BR><INPUT type=checkbox>Test 6<BR><INPUT type=checkbox>Test
7<BR><INPUT type=checkbox>Test 8<BR><INPUT type=checkbox>Test 9<BR><INPUT
type=checkbox>Test 10
  <p><input type="submit" value="Slet valgte"></p>
</FORM></BODY></HTML>

---------------------------------
Avatar billede roenving Novice
27. juni 2003 - 16:41 #16
Der mangler et = -- en sammenligning laves med ==

-- så derfor fejler den

    if (coll[i].type == 'checkbox') coll[i].checked = boolChecked;
Avatar billede roenving Novice
27. juni 2003 - 16:42 #17
edutasia havde været lidt for hurtig på tasterne ...

Fejlen er så opstået, fordi andre elementer ikke kunne have egenskaben checked !-)
Avatar billede roenving Novice
27. juni 2003 - 16:48 #18
Beklager, at jeg ikke har haft det ind igennem maskinen, men jeg kan vel undskylde mig med at jeg ikke har set koden *g*
Avatar billede kaptajnknas Nybegynder
27. juni 2003 - 17:09 #19
Helt fint, det virker :-) TAK
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