Christian : nur bestimmte checkboxen beachten

Beitrag lesen

Hallo Marco.

Zuersteimal solltest du wissen, dass du ids dokumentweit nur einmal vergeben darfst.
Tatsächliegt in der if-Abfrage der haupt-Fehler:
Du probierst mit

if (document.orderform.elements[i].id=="sw".checked) {

gleich zwei Überprüfungen auf einmal vorzunehmen. Statt deiner syntaktisch falschen Schreibweise musst du zwei Abfragen mit '&&' (und) verknüpfen. Das sieht dann in etwa so aus:

function tally() {
  var KeyDw = 0;
  for (var i=0;i<document.orderform.length;++i) {
    if ((document.orderform.elements[i].name == "sw[]") && (document.orderform.elements[i].checked)) {
      KeyDw = KeyDw + 1;
    }
  }
  alert(KeyDw);
}

<input class="chbox" onclick="tally()" type="checkbox" name="sw[]" value="text1">
<input class="chbox" onclick="tally()" type="checkbox" name="sw[]" value="text2">
...

Mir ist außerdem folgende Zeile aufgefallen:
if [...] {
  { KeyDw = KeyDw + 1.9001; }{ xKeyDw = xKeyDw + 1; }
}
Ich weiß nicht, ob das nur beim Testen entstanden ist, auf jeden Fall sind die geschweiften Klammern pro Befehl überflüssig.

Grüsse,
  Christian

--
Erfahrung ist die Summe der Dummheiten, die man im Bedarfsfall wieder anwendet. (Dieter Hildebrand, Kabarettist)