skeletorXVI: Ankreuztest mit HTML und Javascript

<html>  
<head>  
<title>Formulareingaben &uuml;berpr&uuml;fen</title>  
<script language="JavaScript" type="text/javascript">  
var p = 0;  
function auswerten()  
{  
if(document.Fragebogen.Q1.value == "1");  
}  
{  
if(document.Fragebogen.Q2.value == "1");  
}  
</script>  
<form name="Fragebogen" action="auswertung.html" method="get" onSubmit="return auswerung()">  
<table>  
<td>  
<p>Wie hei&szlig;t das Gedicht über Jebediah</p>  
<tr>Jebediah im Orbit<input type="radio" name="Q1" value="1"></tr>  
<tr>Unser Jeb<input type="radio" name="Q1" value="0" checked></tr>  
<tr>Jebediah unser<input type="radio" name="Q1" value="0" checked></tr>  
</td>  
<td>  
<p>Aus welchem Spiel kommt Jebediah</p>  
<tr>KSP<input type="radio" name="Q2" value="1"></tr>  
<tr>KSB<input type="radio" name="Q2" value="0" checked></tr>  
<tr>GSPJebediah unser<input type="radio" name="Q2" value="0" checked></tr>  
</td>  
<td>  
<input type="Button" name="knopf" value="Auswerten" onclick="auswerten()">  
</td>  
</table>  
</form>  
</body>  
</html>

Das habe ich bisher geschrieben. Ich weiß nicht ob der Ansatz überhaupt richtig ist. Ich würde gerne erreichen, dass sobald man den Button Auswerten klickt, für jede Antwort die das Value 1 hat die Variable Punktzahl um einen erhöht wird und anschließend in einem Popup-Fenster gesagt wird: "Sie haben die Punktzahl [Punktzahl] erreicht!".

  1. Hi!

    Fangen wir mal langsam an:

    Warum steht da ueberall checked in den input-Elementen mit den falschen antworten? Hat das einen Sinn? (Normal eher nicht)

    Was soll die Tabelle? Tabellarische Daten sehe ich keine.

    Dein JS sollte eigentlich deine Fehlerkonsole anschmeissen. Du hast Die Funktion nicht geschlossen.

    Im Moment addierst Du noch nichts. Ist das Absicht?

    Dein JS kann man so machen. Muss man aber nicht. Iteriere ueber die Radio Buttons und addiere die angekreuzten Values. (1+0+0+1+1...)

    Zur Funktion des ganzen. Was soll aufpoppen? Ein neues HTML Fenster? Ein alert?

    Im Moment wird deine Funktion ausgefuehrt (wenn man per Klick absendet sogar 2x), die nix macht und dann die Seite auswertung.html geladen.

    Da Du Popup schreibst, vermute ich, dass die Seite gar nicht das Formular ersetzen, sondern in einem neuen Fenster geladen werden soll. Das geht mit einem Formular und dem target Attribut zwar, aber das landet heutzutage eher in einem neuen Tab.

    Ich nehm mal an, das ist keine errnste Anwendung sondern nur Just for Fun. Dann ist auch das mit dem JS in Ordnung. Ansonsten waere es zu ueberlegen eine Serverseitige Loesung zu bauen die auch ohne JS ihren Dienst tut und JS dann drueber zu stuelpen.

    Bei wirklich ernsthafen Fragen, geht JS schonmal gar nicht, da das zu manipulierbar ist.

    Fuer eine Spielerei kann man das System aus HTML und JS so lassen. Mit JS dann evtl ein echtes popup erstellen (recherchiere das window objekt), statt das Formular etwas laden zu lassen, wenn man unbedingt ein popup braucht.

    Das onclick event des buttons brauchst du nicht. Du rufst die Funktion bereits im onsubmit auf, da gehoert es hin, weil man Formulare auch per enter abschicken kann.

    Ich glaub das reicht erstmal, oder? Fragen kannste ja immer noch, wenn was nicht klar ist.

    --
    Signaturen sind bloed.
    1. Ich bin jetzt einfach mal davon ausgegangen, dass beide Funktionsaufrufe (im click und im submit) die gleiche Funktion aufrufen solltem auch wenn sie eigentlich anders heissen. Nahm einen ueblichen Typo im Entwicklungsstadium an. Aber:
      Falls das kein Typo war muesstest Du erklaeren was das soll. Beim Abschicken ohne Klick auf den Button wuerde ja diese Funktion nicht aufgerufen. Falls Dir das nicht klar war, wolltest Du wahrscheinlich beim Button wirklich auswerten und beim Submit die Auswertung anzeigen. Das macht keinen Sinn. Solltest Du aus mir unbekannten Gruenden wirklich eine Funktion brauchen, die die Auswertung erstellt und irgendwo speichert und eine weitere die diese Daten anzeigt, kannst Du sie auch beide im Submit aufrufen.

      --
      Signaturen sind bloed.
    2. Om nah hoo pez nyeetz, Steel!

      Bei wirklich ernsthafen Fragen, geht JS schonmal gar nicht, da das zu manipulierbar ist.

      zum Beispiel für die eigene Prüfungsvorbereitung. Der Einsatz von JavaScript oder einer serverseitigen Technik könnte sich dann sogar auf das Mischen der Fragen und Antworten beschränken. Der Gunnar hatte da mal was vorbereitet: http://wiki.selfhtml.org/wiki/Benutzer:Apsel/quiz

      Matthias

      --
      Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Star und Star Trek.

    3. Das ganze ist ernstgemeint. Ich möchte das Quiz in einem selbstgebautem Forum das ein Schulprojekt ist einbauen. Das gesammte Quiz soll dabei nur zum Spaß sein und benötigt keine Verschlüsselung. Ich versteh bloß sogut wie garnichts von JS und blick beim ganze auch nicht durch. Es tut mir deshalb leid, das ich mich nicht verständlich genug ausgedrückt haben und hoffe, dass man mir als Anfänger das ganze so näherbringen kann, sodass ich den Aufbau auch verstehe.
      (Es wäre nett wenn man mir ein kurzes Beispielscript zeigen könnte.)
      MfG skeletorXVI

      1. (Es wäre nett wenn man mir ein kurzes Beispielscript zeigen könnte.)

        Vor ein paar Tagen wurde hier im Forum das Quiz-Script von Felix Riesterer empfohlen:

        Demo-Seite Quizze

        Unsere Schule hat damit zahllose Quizze online gestellt, ohne etwas im JavaScriptCode selbst verändern zu müssen.

        Frohe Ostern
        Matthias

        1. Hello,

          (Es wäre nett wenn man mir ein kurzes Beispielscript zeigen könnte.)

          Vor ein paar Tagen wurde hier im Forum das Quiz-Script von Felix Riesterer empfohlen:

          Demo-Seite Quizze

          Unsere Schule hat damit zahllose Quizze online gestellt, ohne etwas im JavaScriptCode selbst verändern zu müssen.

          Ich habe mir die Seite gerade angesehen und wollte Felix etwas ins Gästebuch schreiben.
          Leider hat das einen Fehler. Und sein Kontaktformular gibt die Rückmeldung, man hätte keine Rechte auf den Mailserver...

          Vielleicht liest er es hier.

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bikers-lodge.com
          1. hi,

            Ich habe mir die Seite gerade angesehen und wollte Felix etwas ins Gästebuch schreiben.
            Leider hat das einen Fehler. Und sein Kontaktformular gibt die Rückmeldung, man hätte keine Rechte auf den Mailserver...

            Da kommen auch ganz viele PHP-Warnungen ...;

            mfg

            tami