• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

"Auswertung" mit JS

Status
Für weitere Antworten geschlossen.

Thelion

Neues Mitglied
Hallo, liebe Forengemeinde! :smile:

Gerade bin ich in diesem Forum hier gelandet, da ich eine Frage bezüglich einem JavaScript habe, welches ich neulich geschrieben habe um die Antworten auf ein Quiz auswerten zu lassen. [FONT=Tahoma,Helvetica]Dazu wurde im Head-Bereich ein Script mit mehreren Funktionen und der übergeordneten Variabel PunkteG (= Punkte gesamt) erstellt. Jede Funktion überprüft mithilfe des Switch-Befehls die Antwort (vier Möglichkeiten - A, B, C und D - sowie sämtliche unsinnige Eingaben) und vergibt eine feste Punktzahl, bzw. null Punkte für die richtige / falsche Antwort. Anschließend wird PunkteG im übergeordneten Script (außerhalb der Funktionen) definiert durch: PunkteG = Punkte1 + Punkte2 + Punkte3 + Punkte4 + etc. Und zum Schluss habe ich dann mit verschiedenen If-Anweisungen (je nach PunkteG) Bewertungen für den Rater ausgeben lassen. Soweit so gut, denke ich nun eigentlich. Die Auswertung funktioniert auch einwandfrei. Das einzige Problem liegt momentan an der Endbewertung durch die Variabel PunkteG. Nach der Eingabe der Antwort für die letzte Frage wird nämlich kein neues Fenster geöffnet, das die Bewertung enthielte. Es passiert rein gar nichts. Und deswegen sitze ich wohl momentan etwas genervt vor dem PC und tippe diesen Beitrag hier. Ich hoffe auf Hilfe und bedanke mich schon einmal, Thelion. :idea:


[/FONT]
Code:
[FONT=Tahoma,Helvetica][SIZE=2][FONT=Tahoma,Helvetica][SIZE=1]<html>
  <head>
    <title>
    Quiz-Auswertung
    </title>
    <script type="text/javascript">
      
      var PunkteG;      

      function Auswertung1() {
        var Eingabe1 = window.prompt("Antwort für Frage 1:", "");
        var Punkte1;
        switch (Eingabe1) {
          case "A":  
            Punkte1 = 0;
            alert("Leider Falsch!");
            break;
          case "B":
            Punkte1 = 0;
            alert("Leider Falsch!");
            break;
          case "C":
            Punkte1 = 0;
            alert("Leider Falsch!");
            break;
          case "D":
            Punkte1 = 3;
            alert("Richtige Antwort!");
            break;
          default:
            Punkte1 = 0;
            alert("Variabel nicht gefunden!");
            break;
        }
      }
      
      function Auswertung2() {
        var Eingabe2 = window.prompt("Antwort für Frage 2:", "");
        var Punkte2;
        switch (Eingabe2) {
          case "A":  
            Punkte2 = 0;
            alert("Leider Falsch!");
            break;
          case "B":
            Punkte2 = 2;
            alert("Richtige Anwort!");
            break;
          case "C":
            Punkte2 = 0;
            alert("Leider Falsch!");
            break;
          case "D":
            Punkte2 = 0;
            alert("Leider Falsch!");
            break;
          default:
            Punkte2 = 0;
            alert("Variabel nicht gefunden!");
            break;
        }
      }
      function Auswertung3() {
        var Eingabe3 = window.prompt("Antwort für Frage 3:", "");
        var Punkte3;
        switch (Eingabe3) {
          case "A":  
            Punkte3 = 0;
            alert("Leider Falsch!");
            break;
          case "B":
            Punkte3 = 0;
            alert("Leider Falsch!");
            break;
          case "C":
            Punkte3 = 2;
            alert("Richtige Antwort!");
            break;
          case "D":
            Punkte3 = 0;
            alert("Leider Falsch!");
            break;
          default:
            Punkte3 = 0;
            alert("Variabel nicht gefunden!");
            break;
        }
      }
      function Auswertung4() {
        var Eingabe4 = window.prompt("Antwort für Frage 4:", "");
        var Punkte4;
        switch (Eingabe4) {
          case "A":  
            Punkte4 = 3;
            alert("Richtige Antwort!");
            break;
          case "B":
            Punkte4 = 0;
            alert("Leider Falsch!");
            break;
          case "C":
            Punkte4 = 0;
            alert("Leider Falsch!");
            break;
          case "D":
            Punkte4 = 0;
            alert("Leider Falsch!");
            break;
          default:
            Punkte4 = 0;
            alert("Variabel nicht gefunden!");
            break;
        }
      }
      function Auswertung5() {
        var Eingabe5 = window.prompt("Antwort für Frage 5:", "");
        var Punkte5;
        switch (Eingabe5) {
          case "A":  
            Punkte5 = 0;
            alert("Leider Falsch!");
            break;
          case "B":
            Punkte5 = 0;
            alert("Leider Falsch!");
            break;
          case "C":
            Punkte5 = 4;
            alert("Richtige Antwort!");
            break;
          case "D":
            Punkte5 = 0;
            alert("Leider Falsch!");
            break;
          default:
            Punkte5 = 0;
            alert("Variabel nicht gefunden!");
            break;
        }
      }
      function Auswertung6() {
        var Eingabe6 = window.prompt("Antwort für Frage 6:", "");
        var Punkte6;
        switch (Eingabe6) {
          case "A":  
            Punkte6 = 4;
            alert("Richtige Antwort!");
            break;
          case "B":
            Punkte6 = 0;
            alert("Leider Falsch!");
            break;
          case "C":
            Punkte6 = 0;
            alert("Leider Falsch!");
            break;
          case "D":
            Punkte6 = 0;
            alert("Leider Falsch!");
            break;
          default:
            Punkte6 = 0;
            alert("Variabel nicht gefunden!");
            break;
        }
      }
      function Auswertung7() {
        var Eingabe7 = window.prompt("Antwort für Frage 7:", "");
        var Punkte7;
        switch (Eingabe7) {
          case "A":  
            Punkte7 = 0;
            alert("Leider Falsch!");
            break;
          case "B":
            Punkte7 = 0;
            alert("Leider Falsch!");
            break;
          case "C":
            Punkte7 = 0;
            alert("Leider Falsch!");
            break;
          case "D":
            Punkte7 = 2;
            alert("Richtige Antwort!");
            break;
          default:
            Punkte7 = 0;
            alert("Variabel nicht gefunden!");
            break;
        }
      }
      
      Auswertung1();
      Auswertung2();
      Auswertung3();
      Auswertung4();
      Auswertung5();
      Auswertung6();
      Auswertung7();

      PunkteG = Punkte1 + Punkte2 + Punkte3 + Punkte4 + Punkte5 + Punkte6 + Punkte7;

      function Gesamt() {
        if (PunkteG == 20) {
          alert("bemerkenswert!"); }
        if (PunkteG == 19) {
          alert("nicht schlecht; übt fleißig weiter ..."); }
        if (PunkteG == 18) {
          alert("nicht schlecht; übt fleißig weiter ..."); }
        if (PunkteG == 17) {
          alert("nicht schlecht; übt fleißig weiter ..."); }
        if (PunkteG == 16) {
          alert("nicht schlecht; übt fleißig weiter ..."); }
        if (PunkteG == 15) {
          alert("nicht schlecht; übt fleißig weiter ..."); }
        if (PunkteG == 14) {
          alert("das könnte sicher noch besser sein"); }
        if (PunkteG == 13) {
          alert("das könnte sicher noch besser sein"); }
        if (PunkteG == 12) {
          alert("das könnte sicher noch besser sein"); }
        if (PunkteG == 11) {
          alert("das könnte sicher noch besser sein"); }
        if (PunkteG == 10) {
          alert("das könnte sicher noch besser sein"); }
        if (PunkteG == 9) {
          alert("das könnte sicher noch besser sein"); }
        if (PunkteG == 8) {
          alert("das könnte sicher noch besser sein"); }
        if (PunkteG == 7) {
          alert("das könnte sicher noch besser sein"); }
        if (PunkteG == 6) {
          alert("das könnte sicher noch besser sein"); }
        if (PunkteG <= 5) {
          alert("das war ja keine Glanzleistung ..."); }
      }

      Gesamt();
    
    </script>
  </head>
  <body>

  </body>
</html>[/SIZE][/FONT][/SIZE][/FONT]
 
Werbung:
Strukturen sparen eine Menge an logischem Code und lassen sich einfach erweitern:
Code:
var fragen = [
    {
         frage : "Antwort für Frage 1:",
         punkte : 0,
         antworten : [
             {
                 antwort : "A",
                 richtig : false
             },
             {
                 antwort : "B",
                 richtig : true
             },
             {
                 antwort : "C",
                 richtig : false
             },
             {
                 antwort : "D",
                 richtig : false
             }
         ]
    }, 
    {
        ...
    }
];

Und das selbe geht auch für die Auswertung zum Schluss.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben