Probleme mit Variablenübergabe
Jörn
- javascript
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
hi,
var Summe = a + b + c;
das ergibt eine _zahl_ (da du nur zahlenwerte in a, b, und c stehen hast).
switch (Summe) {
case "1":
wieso prüfst du hier jetzt plötzlich auf einen _string_ mit dem textinhalt 1?
eigentlich meinst du doch 1 statt "1".
gruss,
wahsaga
Hallo wahsaga!
Sorry, aber das wusste ich nicht, das ich einmal auf einen String und das andere Mal auf eine Zahl teste. Jetzt läuft es! Vielen Dank für die schnelle Hilfe!
Mit freundlichen Grüßen,
Jörn