6. Februar 200619 j Hallo Leutz, JS ist nicht gerade meine Stärke da ich nicht sehr viel damit mache. Ich möchte aus meiner Checkbox-Sammlung die Werte aus dem Array auslesen. Leider habe keine Ahnung wie ich das machen soll... function myfunction() { var txt = "NEIN"; var objForm = document.forms[0]; for( i=0 ; i < 4 ; i++ ) { if(objForm.elements["myCheckbox[" + i + "]"].checked) { .... } } [/PHP] HTML... <input type="checkbox" name="selected_tbl[]" value="1" >Test1 <input type="checkbox" name="selected_tbl[]" value="2" >Test2 <input type="checkbox" name="selected_tbl[]" value="3" >Test3 <input type="checkbox" name="selected_tbl[]" value="4" >Test4 <input type="checkbox" name="selected_tbl[]" value="5" >Test5 Vielleicht hat mir einer ein gute Beispiel... Danke schon mal...
6. Februar 200619 j also sowas wie : if (document.deinarray[0 bis ende].checked == true) { mach dies; } else { das; } oder was meinst du genau ? edit meint : sollte das automatisch beim laden der Seite geschehen, muss die Funktion natürlich auch im QC bei einem Event, eingetragen werden
6. Februar 200619 j hmm... ok, mal überlegen... HTML: <form name="checkboxen"> <input type="checkbox" name="selected_tbl[]" value="1">Tabelle1<br> <input type="checkbox" name="selected_tbl[]" value="2">Tabelle2<br> <input type="checkbox" name="selected_tbl[]" value="3">Tabelle3<br> <input type="checkbox" name="selected_tbl[]" value="4">Tabelle4 </form> und JS: function myfunction() { var txt = "NEIN"; var output = ""; var objForm = document.forms[0]; for( i=0 ; i < 4 ; i++ ) { if(this.checkboxen.getElementByName("selected_tbl["+i+"]").checked) { output = txt + this.checkboxen.getElementByName('selected_tbl['+i+']').value + "\n"; } } alert(output); sollte dann, wenn zB 1 und 3 angekreuzt sind: "NEIN1\nNEIN3" im alert ausgeben (der kann ja kein \n, oder?) Na, aber so halt denk ich wolltest dus wissen, oder?
6. Februar 200619 j Genau so meine ich das. Nur ist bei mir das array leer oder ich bekommen einen Fehler zurück. Die Checkboxen werden dynamisch erzeugt.
6. Februar 200619 j hi du. also auf die schnelle und für den IE 6 auf jeden fall funktionstüchtig würde ich sowas vorschlagen (s.u.) wichtig ist, dass du die [] bei den checkboxnamen weglässt. das funktioniert nur auf php-seite dass das als array angenommen wird... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> <script language="javascript"> function msg(){ retVal = ""; for(i=0;i<=document.formEdit.selected_tbl.length-1;i++){ document.formEdit.selected_tbl[i].checked ? retVal+= "Checkbox " + (i+1) + ": ON" : retVal+= "Checkbox " + (i+1) + ": OFF"; retVal+= "\n"; } alert(retVal); } </script> </head> <body> <form name="formEdit"> <input type="checkbox" name="selected_tbl" value="1" >Test1 <input type="checkbox" name="selected_tbl" value="2" >Test2 <input type="checkbox" name="selected_tbl" value="3" >Test3 <input type="checkbox" name="selected_tbl" value="4" >Test4 <input type="checkbox" name="selected_tbl" value="5" >Test5 <input type="button" onClick="msg();"> </form> </body> </html> das ist dann auch dynamisch wegen "length" und somit musst du die zahl der checkboxen nicht wirklich kennen...
7. Februar 200619 j danke für Dein Beispiel, ich habe es gestern schon hinbekommen auch mit []... ... var output = ""; var objForm = document.forms[0]; for( i=0 ; i < objForm.length ; i++ ) { if(document.form_mail["selected_tbl[]"][i].checked == true ) { dummy = document.form_mail["selected_tbl[]"][i].value; output = output + dummy + "; " } } ... } [/PHP]Trotzdem THX
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.