Alle Checkboxen markieren!

Ich habe jegliche Hoffnung verloren, so gehts auch nicht!

Ich geh jetzt nach hause und dann ins Bett. Reicht mir, vielleicht kann mir ja jemand anders noch den ein oder anderen Tipp geben!

Danke dir erstmal..

cu!
 
Hallo,
also ich mach das bei mir wie folgt:
Code:
<script language="JavaScript">
<!-- Begin
function SelectCB(thisobj,var1){
  var o = document.forms[thisobj].elements;
  if(o){
    for (i=0; i<o.length; i++){
      if (o[i].type == 'checkbox'){
        o[i].checked = var1;
      }
    }
  }
}
// End -->
</script>

So sieht dann eine Checkbox von mir aus:
<input type='checkbox' name='check[]' value='$ar[id]'</TD>

Nicht von $ar[id] irritieren lassen die Checkbox ist bei mir in einem PHP-Script eingebaut.

Und so benutzte ich das ganze:
<input type=button value="Alle Markieren" onClick="JavaScript:selectcb('buchung', true)">
<input type=button value="Alle Demarkieren" onClick="JavaScript:selectcb('buchung', false)">

Müsstest du dann für deine Zwecke umbauen, falls du es anders haben willst.
 
So langsam aber sicher verzweifel ich an Gott und der Welt!

Es funktioniert auch mit diesem Code nicht.

Also nochmal, meine Checkboxen sehen so aus:

Code:
<input type="checkbox" name="pm[37]" />

Mein Formularelement sieht so aus:

Code:
<form method="POST" action="managePrivateMessages.php?task=inbox&amp;page=1">

So, und nun muss es doch irgendwie möglich sein das ganze hinzubekommen, oder?
 
Oh man, ist ja klar das mein Code nicht geht. Du musst schon ein kleines bisschen mitdenken. Ich habe einfach eine gewisse Grundkenntnis in JS vorausgesetzt.
In dem zusammenhang kannst du dir auch mal bei gelegenheit den Thread "Keine Ahnung von Javascript" anschaun.

Die Checkboxen müssen nämlich, wenn du meien Code von oben übernimmst, durchgehend nummeriert sein und die Zählung muss bei 0 beginnen. Ich nahm an, dass du soviel Ahnung hast, dass du das aus dem Code rausliest. Ferner nahm ich an, dass du den Code selbständig deinen speziellen Bedürfnissen anpasst - kann ja nich wissen, dass du die Boxen nicht durchgehend nummerierst und engegen jeder Programmierpraxis bei 1 zu zählen anfängst.

Wie auch immer, in deinem Fall musst du noch eine if-Abfrage einbaunen, die prüft, ob eine Ceckbox mit dem jeweiligen Namen überhaupt existiert, bevor einer ihrer Eigenschafen ein Wert zugewiesen wird - ansonsten kommt es zu seinem Fehler.

Das könnte dann so aussehen:
Code:
<input type="checkbox" onclick="
      	for (i=0; i<20; i++)
      		if ( obj = document.getElementsByName('pm['+ i +']')[0] )
      			obj.checked = this.checked;
  " />
Man sollte doch wenigstens mal überlegen, was die Schleife macht oder vielleicht mal in die Fehlermeldungen schauen, die einem die JS-Konsole in Firefox oder Opera, bzw. die Leiste unten im IE ausgibt.
 
Zuletzt bearbeitet:
Sorry, aber ich habe leider nur ein Wenig ahnung von JS also eigentlich gar keine!

Die Checkboxen bekommen die ID von der Nachricht und so ist das auch üblich!

Ich werde gucken ob ich das Zusammengebastelt bekomme (glaube nicht dran).

Danke dir erstmal. Ich melde mich wieder!
 
Probiers mal so:
Code:
<script type="text/javascript">
<!--
function checker(o)
{
  e = o.form.elements;
  for( k = 0; k < e.length; ++k)
    {
      if(e[k].type == 'checkbox' 
        && e[k].name.match(/pm\[\d+\]/))
        {
          e[k].checked = o.checked
        }
    }
}
//-->
</script>

<input type="checkbox" onclick="checker(this)" />
...ist im Prinzip dasselbe wie von Counterfeit, prüft nur noch obendrein, ob der Name der Checkbox deinem Schema entspricht.
 
Hi!

Danke erstmal für deine Antwort, ich hoffe du nimmst es mit nicht übel das ich das jetzt nicht ausprobiere, ich habe vor ca. 2 Minuten was gefunden, und das hat sogar wirklich funktioniert *g*

Aber trotzdem danke für deine bemühungen. Für alle die das gleiche Probelm haben oder haben werden Poste ich noch die Möglichkeit die funktioniert hat:

Code:
<script language="JavaScript1.2" type="text/javascript">
<!-- Begin
function changeBox(cbox) {
 box = eval(cbox);
 box.checked = !box.checked;
}
function checkAll() {
 for (var i = 0; i < document.form.elements.length; i++) {
       if(document.form.elements[i].name != "subfield" && document.form.elements[i].name != "pm[]") {
               document.form.elements[i].checked = true;
         }
 }
}
function uncheckAll() {
 for (var i = 0; i < document.form.elements.length; i++) {
       if(document.form.elements[i].name != "subfield" && document.form.elements[i].name != "pm[]") {
               document.form.elements[i].checked = false;
         }
 }
}
//-->
</script>
 
hallo,

also ich hab das ding eingebaut...
ich bekomm keine fehlermeldung...

habe aber nichts um zu klicken um die aktion auszuführen. was muss ich da noch machen?

habe keine ahnung von java
 
Zurück