Hallo!
Ich habe folgendes Script:
if(document.Eingabe.SuchSta[0].checked || document.Eingabe.SuchSta[1].checked || document.Eingabe.SuchSta[2].checked ) {
var a = 0;
var b = 0;
var c = 0;
if (document.Eingabe.SuchSta[0].checked) {
a = 1; }
if (document.Eingabe.SuchSta[1].checked) {
b = 3; }
if (document.Eingabe.SuchSta[2].checked) {
c = 5 }
var Summe = a + b + c;
alert("a"+Summe+"a");
switch (Summe) {
case "1":
alert("1");
wert = "Status = ../images/gruen.gif";
break;
case "3":
alert("3");
wert = "Status = ../images/gelb.gif";
break;
case "4":
alert("4");
wert = "Status = ../images/g*";
break;
case "5":
alert("5");
wert = "Status = ../images/rot.gif";
break;
case "6":
alert("6");
wert = "Status > ../images/gelb.gif";
break;
case "8":
alert("8");
wert = "Status = ../images/gelb.gif | ../images/rot.gif";
break;
default:
alert("a"+Summe+"a");
wert = ""
break;
}
if(Suchbegriffe > 0){
Suchausdruck = Suchausdruck + " & " + wert;
}
else
Suchausdruck = Suchausdruck + wert;
Suchbegriffe++;
}
Die Alert-Meldungen habe ich zur Variablenkontrolle eingefügt. Wenn ich nun die Schaltfläche 1 betätige wird mir bei der Summe auch der korrekte Wert Summ=1 angezeigt, allerdings springt die Switch-Routine auf den default-Wert. Bei anderen Kombinationen ist es genauso. Immer stimmt die Summe, aber die Routine springt auf die Default-Lösung. Gebe ich die Variable per Hand (also die Werte 1-9)über folgenden Befehl ein:
var Summe = window.prompt("Geben Sie eine Zahl zwischen 1 und 9 ein:","");
switch(Summe)
, so läuft die Switch-Routine so ab, wie sie soll, obwohl mir die Gleichen Werte angezeigt werden, als ob ich die Variable durch die Summe-Variable bestimmen lasse. Woran kann das liegen, bzw. wie kann ich dies Problem beseitigen?
Mit freundlichen Grüßen,
Jörn