[JS] Meldungen wird nicht ausgegeben

12/12/2012 18:13 S7ZY#1
Hey leute,

hab hier ein fertiges Script vom Informatik-Lehrer bekommen. Hatte in der Schule bereits den gleichen Fehler und grade hab ich den Script nachgeschrieben um evtl. den Fehler selber noch am Rechner herauszukriegen aber wieder der gleiche Bug.

HTML Code:
<html>
    
    <head>
        <title>Das Mini-Quiz</title>
        <script language="Javascript">
            var frage1 = "In welchem Kontinent liegt China?";
            var antwort1 = "ASIEN";
            var frage2 = "Wie viele Finger hat Lisa Simpson?";
            var antwort2 = 4;
            var frage3 = "Wie ist die Abkürzung für Hyper Text Transfer Protocol?";
            var antwort3 = "HTTP";
            var frage, antwort, zaehler = 0;

            function fragen(frage, antwort) {
                var eingabe = window.prompt(frage, "Na - und ?");
                if (eingabe == null) {
                    window.alert("Schade, dass du nicht weiterspielen willst!");
                } else {
                    eingabe = eingabe.toUpperCase();
                    if (antwort == eingabe) {
                        window.alert("Yeaaah - Richtig");
                        zaehler += 1;
                    } else {
                        window.alert("Oh No - Falsch");
                    }
                }
            }

            function quiz_start() {
                fragen(frage1, antwort1);
                fragen(frage2, antwort2);
                fragen(frage3, antwort3);
                if (zaehler == 3) {
                    window.alert("3 von 3\nSuuuper, alles richtig!");
                }
                if (zaehler == 2) {
                    window.alert("2 von 3\nNicht schlecht der Specht\Wer hat sich bitte diese antworten ausgedacht?");
                }
                if (zaehler == 1) {
                    window.alert("1 von 3\nIch glaube, du musst noch ein bisschen üben");
                }
                if (zaehler == 0) {
                    window.alert("0 von 3\nNicht traurig sein. Das Leben geht weiter");
                }
            }
        </script>
    </head>
    
    <body bgcolor="blue">
        <table border=5>
            <tr>
                <td>
<font size=5 color="yellow" face="comic sans ms">
Wie viel weißt du?
</font>

                    <tr>
                        <td align="center">
                            <form name="formular">
                                <br>
                                <input type="button" value="Quiz starten" onClick="quiz_start()">
                            </form>
        </table>
    </body>

</html>
ich kann das Quiz starten und auch die Antworten eintippen und diese werden auch angenommen und mit "Richtig" oder mit "Falsch" beantwortet aber leider bekomme ich am Ende des Quizes NUR bei ALLEN Richtigen Antworten eine Meldung mit "3 von 3\nSuuuper, alles richtig!" allerdings nicht bei "2 von 3;1 von 3;0 von 3;"

Hier könnt ihr die Page mal testen [Only registered and activated users can see links. Click Here To Register...]

wisst ihr warum die Meldung bei "2 von 3;1 von 3;0 von 3;" ausgegeben werden?

MfG
12/12/2012 18:37 Hiris#2
Ich würde die Frage mit Lisa simpson auf Wieviel Finger hat sie an einer Hand umformulieren, da sie insgesammt wohl 8 finger hat.

Außerdem funktioniert bei mir alles pico bello , 0 von 3 und 1 von 3 und 2 von 3 werden normal ausgegeben
12/12/2012 18:43 S7ZY#3
Quote:
Originally Posted by Hiris View Post
Ich würde die Frage mit Lisa simpson auf Wieviel Finger hat sie an einer Hand umformulieren, da sie insgesammt wohl 8 finger hat.

Außerdem funktioniert bei mir alles pico bello , 0 von 3 und 1 von 3 und 2 von 3 werden normal ausgegeben
Ich bekomme immer noch Bugs in den Meldungen.
HTML Code:
<html>
    
    <head>
        <title>Das Mini-Quiz</title>
        <script language="Javascript">
            var frage1 = "In welchem Kontinent liegt China?";
            var antwort1 = "ASIEN";
            var frage2 = "Wie viele Finger hat Lisa Simpson?";
            var antwort2 = 4;
            var frage3 = "Wie ist die Abkürzung für Hyper Text Transfer Protocol?";
            var antwort3 = "HTTP";
            var frage, antwort, zaehler = 0;

            function fragen(frage, antwort) {
                var eingabe = window.prompt(frage, "Na - und ?");
                if (eingabe == null) {
                    window.alert("Schade, dass du nicht weiterspielen willst!");
                } else {
                    eingabe = eingabe.toUpperCase();
                    if (antwort == eingabe) {
                        window.alert("Yeaaah - Richtig");
                        zaehler += 1;
                    } else {
                        window.alert("Oh No - Falsch");
                    }
                }
            }

            function quiz_start() {
                fragen(frage1, antwort1);
                fragen(frage2, antwort2);
                fragen(frage3, antwort3);
                if (zaehler == 3) {
                    window.alert("3 von 3\nSuuuper, alles richtig!");
                }
                if (zaehler == 2) {
                    window.alert("2 von 3\nNicht schlecht der Specht\Wer hat sich bitte diese antworten ausgedacht?");
                }
                if (zaehler == 1) {
                    window.alert("1 von 3\nIch glaube, du musst noch ein bisschen üben");
                }
                if (zaehler == 0) {
                    window.alert("0 von 3\nNicht traurig sein. Das Leben geht weiter");
                }
            }
        </script>
    </head>
    
    <body bgcolor="blue">
        <table border=5>
            <tr>
                <td>
<font size=5 color="yellow" face="comic sans ms">
Wie viel weißt du?
</font>

                    <tr>
                        <td align="center">
                            <form name="formular">
                                <br>
                                <input type="button" value="Quiz starten" onClick="quiz_start()">
                            </form>
        </table>
    </body>

</html>
bei 0 richtigen trotzdem die Fehlermeldung "3 von 3" und bei "2 von 3;1 von 3" keine Meldung.
12/12/2012 19:03 Hiris#4
Lösch mal cache und nimm nen anderen browser, bei mir ists immer richtig
12/12/2012 19:09 NotEnoughForYou#5
Bei mir klappt auch alles. Außerdem solltest du nachdem das Ergebnis ausgegeben wurde zaehler wieder auf 0 setzen.
12/12/2012 20:17 S7ZY#6
Danke NotEnoughForYou

Mir ist grade aufgefallen, dass wenn man schon einmal den Quiz gemacht hat (klappt alles gut) und beim nächsten versuch, dass der zaehler den Wert vom vorherigen Versuch mit speichert.

Daher wenn ich im 1. Versuch 2 von 3 Richtig hatte, dass dann dieses Ergebnis auch noch mitgeführt wird, wenn die Seite nicht neu geladen wird.

hab jetzt in quiz_start() unten noch "zaehler=0;" eingegeben damit halt zaehler nach jedem Versuch resetet wird.