Berechnung mit JavaScript: IF ELSE Abfrage soll Werte zuweisen

Die Möglichkeiten und Tücken von Formularen
Antworten
djhucki
Beiträge: 2
Registriert: 18.11.2013, 13:51

Berechnung mit JavaScript: IF ELSE Abfrage soll Werte zuweisen

Beitrag von djhucki » 22.11.2013, 16:25

Hallo Zusammen ..

eine Aufgabe für's verregnete Wochenende.

Folgende Aufgabenstellung:
Über 3 Kontrollkästchen soll ein Wert in 3 Textfeldern ausgegeben werden. Abhängig davon, welches und wie viele Kontrollkästchen aktiviert sind.
Die Berechnung erfolgt über ein zusätzliches Textfeld, in welchem aber nichts angezeigt werden soll.

Ich habe das ganze mit 3 in sich noch Mal verschachtelten IF ELSE Abfragen versucht zu lösen. Leider nur mit halben Erfolg.

Problem:
Wie so üblich, wird das JavaScript von oben nach unten durchlaufen.
Anscheinend werden aber nicht, wie von mir erhofft, alle drei IF Abfragen hintereinander bis zum Ende abgearbeitet, sondern brechen nach Erfüllung der Ersten Bedingung ab.

Wie bekomme ich mein Script dazu, alle IF Abfragen durchzulaufen, um so den Zustand aller drei Kontrollkästchen abzufragen und den entsprechenden Wert in die Textfelder auszugeben.

Leider habe ich einen Denkfehler oder/und unzureichende JavaScript Kenntnisse, um den Fehler zu finden.

Für jegliche Hilfe bin ich sehr dankbar.

Code: Alles auswählen

if((this.getField("CB1").isBoxChecked(0)) && ((this.getField("CB2").isBoxChecked(0)) || (this.getField("CB3").isBoxChecked(0)))) {    // prüfe, ob Kontrollkästchen 1 UND Kontrollkästchen 2 oder 3 aktiv sind
    this.getField("Text1").value = "CheckBox 1 und weitere angeklickt" }    // gebe Zustand an Textfeld 1 weiter
    else {
    if(this.getField("CB1").isBoxChecked(0)) {    // prüfe, ob Kontrollkästchen 1 aktiv ist
        this.getField("Text1").value = "nur CheckBox 1 angeklickt" }    // gebe Zustand an Textfeld 1 weiter
        else {
        if(this.getField("CB1").checked != false ) {    // prüfe, ob Kontrollkästchen 1 inaktiv ist
            this.getField("Text1").value = "CheckBox 1 nicht angeklickt" }    // gebe Zustand an Textfeld 1 weiter
    }

if((this.getField("CB2").isBoxChecked(0)) && ((this.getField("CB1").isBoxChecked(0)) || (this.getField("CB3").isBoxChecked(0)))) {    // prüfe, ob Kontrollkästchen 2 UND Kontrollkästchen 1 oder 3 aktiv sind
    this.getField("Text2").value = "CheckBox 2 und weitere angeklickt" }    // gebe Zustand an Textfeld 2 weiter
    else {
        if(this.getField("CB2").isBoxChecked(0)) {    // prüfe, ob Kontrollkästchen 2 aktiv ist
        this.getField("Text2").value = "nur CheckBox 2 angeklickt" }    // gebe Zustand an Textfeld 2 weiter
        else {
        if(this.getField("CB2").checked != false ) {    // prüfe, ob Kontrollkästchen 2 inaktiv ist
            this.getField("Text2").value = "CheckBox 2 nicht angeklickt" }    // gebe Zustand an Textfeld 2 weiter
    }

if((this.getField("CB3").isBoxChecked(0)) && ((this.getField("CB1").isBoxChecked(0)) || (this.getField("CB2").isBoxChecked(0)))) {    // prüfe, ob Kontrollkästchen 3 UND Kontrollkästchen 1 oder 2 aktiv sind
    this.getField("Text3").value = "CheckBox 3 und weitere angeklickt" }    // gebe Zustand an Textfeld 3 weiter
    else {
        if(this.getField("CB3").isBoxChecked(0)) {    // prüfe, ob Kontrollkästchen 3 aktiv ist
        this.getField("Text3").value = "nur CheckBox 3 angeklickt" }    // gebe Zustand an Textfeld 3 weiter
        else {
        if(this.getField("CB3").checked != false ) {    // prüfe, ob Kontrollkästchen 3 inaktiv ist
            this.getField("Text3").value = "CheckBox 3 nicht angeklickt" }    // gebe Zustand an Textfeld 3 weiter
    }

}}}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten