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)