Slettet bruger
20. januar 2003 - 11:13
Der er
23 kommentarer og 3 løsninger
Check alle checkboxes ved klik
Jeg har en række checkboxe som alle hedder mailids[]. Hvordan laver jeg en funktion, som afkrydser alle disse på en gang? <a href='' onClick='\"return tjek()\"; return false'>Select all</a> <script> function tjek() { n = 0; if (index.elements[i].type == \"checkbox\") { index.elements[i].value = checked; } return false; } </script> ... virker ikke.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
20. januar 2003 - 11:16
#1
for( i = 0; i < mailids.length; i++ ) { mailids[i].checked = true; } noget i den retning
20. januar 2003 - 11:17
#2
function checkAll(field) { for (i = 0; i < field.length; i++) field[i].checked = true ; } function uncheckAll(field) { for (i = 0; i < field.length; i++) field[i].checked = false ; } onclick="checkAll(document.fornavn.elemendID);"> og så fremdeles
Slettet bruger
20. januar 2003 - 11:24
#3
Ingen virkede :( prøv selv: <form action=/vismail.php method=post name=index> <input type=checkbox name="mailids[]" value="3"> <input type=checkbox name="mailids[]" value="2"> <input type=checkbox name="mailids[]" value="1"> <a href='' onClick='"return tjek(document.index.mailids)"; return false'>Select all</a> <script> function tjek(field) { for (i = 0; i < field.length; i++) field[i].checked = true ; } </script>
20. januar 2003 - 11:27
#4
<form action=/vismail.php method=post name="index"> <input type=checkbox name="mailids" value="3"> <input type=checkbox name="mailids" value="2"> <input type=checkbox name="mailids" value="1"> <a href="#" onclick="tjek(document.index.mailids)"; return false'>Select all</a> <script> function tjek(field) { for (i = 0; i < field.length; i++) field[i].checked = true ; }
20. januar 2003 - 11:28
#5
<a href="#" onclick="tjek(document.index.mailids); return false">Select all</a> :)
Slettet bruger
20. januar 2003 - 11:30
#6
Virker heller ikke... prøv selv.
20. januar 2003 - 11:31
#7
Har jeg da gjort - virker fint
20. januar 2003 - 11:32
#8
<html> <head> <script> function tjek(field) { for (i = 0; i < field.length; i++) field[i].checked = true ; } </script> </head> <body> <form action=/vismail.php method=post name="index"> <input type=checkbox name="mailids" value="3"> <input type=checkbox name="mailids" value="2"> <input type=checkbox name="mailids" value="1"> <a href="#" onclick="tjek(document.index.mailids); return false">Select all</a> </body> </html>
Slettet bruger
20. januar 2003 - 11:32
#9
Hvis jeg c/p din kode i et tomt dokument, så får jeg fejl på linje 6 "et objekt var ventet". Virker heller ikke hvis jeg tilføjer html/body tags.
Slettet bruger
20. januar 2003 - 11:33
#10
heh... min fejl. Glemte </script>
Slettet bruger
20. januar 2003 - 11:35
#11
Men du har jo fjernet [] fra mailids navnene. De skal være der.
20. januar 2003 - 11:40
#12
Hvorfor? Du kan da heller ikke angive name/id sådan.
Slettet bruger
20. januar 2003 - 11:46
#13
Jo, i PHP kan man.
20. januar 2003 - 11:55
#14
var inputArray = document.getElementById("frm").getElementsByTagName("input"); for(i=0; i<inputArray.length; ++i) { if(inputArray[i].type ="checkbox") inputArray[i].checked = "checked"; }
20. januar 2003 - 11:55
#15
^ ovenstående som svar ^
20. januar 2003 - 11:55
#16
( markerer alle checkboxe i formen med ID'en "frm" )
Slettet bruger
20. januar 2003 - 12:04
#17
Virker heller ikke... <form action=/vismail.php method=post name="index"> <input type=checkbox name="mailids[]" value="3"> <input type=checkbox name="mailids[]" value="2"> <input type=checkbox name="mailids[]" value="1"> <a href="#" onclick="tjek(index)"; return false'>Select all</a> <script> function tjek(frm) { var inputArray = document.getElementById("frm").getElementsByTagName("input"); for(i=0; i<inputArray.length; ++i) { if(inputArray[i].type ="checkbox") inputArray[i].checked = "checked"; } </script>
20. januar 2003 - 12:08
#18
<html> <head> <title></title> <script type="text/javascript"> function tjek(obj) { var checkBoxes = document.getElementsByTagName('input'); for (i = 0; i < checkBoxes.length; i++) { checkBoxes[i].checked = true; } } </script> </head> <body> <form action="/vismail.php" method="post" name="index"> <input type="checkbox" name="mailids[]" value="3"> <input type="checkbox" name="mailids[]" value="2"> <input type="checkbox" name="mailids[]" value="1"> </form> <a href="#" onclick="tjek(this); return false;">tjek</a> </body> </html>
20. januar 2003 - 12:20
#19
Du skal gøre følgende: function check() { var form=document.forms['index']; var i=0; for(i=0;i<form.elements.length;i++) { if(form.elements[i].type=='checkbox') { if(form.elements[i].name=='mailids[]') { form.elements[i].checked=true; } } } } Det skulle gerne fungere. :)
20. januar 2003 - 12:20
#20
Hmm Det skulle have været et svar :)
20. januar 2003 - 12:24
#21
Det kan også være at JavaScript ikke vil acceptere dit feltnavn med mailids[], og du derfor er nødt til at lave din POST om til en GET, og så manuelt lave din submit via javascript, så du åbner: document.location='/vismail.php?mailids[]='; osv.
20. januar 2003 - 12:24
#22
mit sidste eks virker nu også fint :o)
20. januar 2003 - 12:30
#23
Sikkert, men det da lidt noget rod at blande dhtml og DOM ind i det lige pludseligt. Hvad nu hvis brugeren er så uheldig at have en browser som ikke understøtter det, fx Netscape 4 :) Så fungerer din løsning ikke længere, men min skulle gerne fungere, forudsat at javascript vil acceptere felter med mailids[] som navn.
20. januar 2003 - 12:35
#24
NN4x hører til på et musæum :) Og at du ikke vil bruge dom forstår jeg intet af :) Tingende har det med at forny sig.
20. januar 2003 - 12:37
#25
netomnia >> grunden til at du ikke har fået mit til at virke, er at du ikke har udskiftet "frm" med "index", som din form hedder... hvis du udskifter var inputArray = document.getElementById("frm").getElementsByTagName("input"); med var inputArray = document.getElementById("index").getElementsByTagName("input"); Derudover skal der ikke være kant-paranteser efter checkboks-navnet (mailids) så derfor skal din form-kode være : <form action=/vismail.php method=post name="index"> <input type=checkbox name="mailids" value="3"> <input type=checkbox name="mailids" value="2"> <input type=checkbox name="mailids" value="1"> </form>
20. januar 2003 - 12:39
#26
Jeg har intet imod at bruge DOM, ,men vi kender ikke forudsætningerne for netomia's system. Vi ved ikke om han/hun vil supportere NS4 brugere, så derfor er det jo nok bedst at bruge noget som alle forstår. Og der er jo ingen grund til at bruge DOM, da det ikke er nødvendigt.
Vi tilbyder markedets bedste kurser inden for webudvikling