Memory-Funktion bei JavaScript-Umfragen
Philipp B.
- javascript
0 fastix®
Hallo,
ich bin gerade dabei, für den Informatikunterricht eine Website zu erstellen. Auf diese Seite soll ein Multiple-Choice Quiz eingebunden sein. Ich habe dies mit einem Pop-Up Fenster gemacht, einer Windows-Massage, die, wenn man auf die Lösung klickt, anzeigt ob sie richtig oder falsch ist.
MEINE FRAGE:
Wie kann ich eine Memory-Funktion einrichten, dass man hinterher gesagt bekommt "Sie hatten XX falsche und XX richtige Antworten", und dass man nur auf eine der Seiten klicken kann.
Hier der Quelltext, den ich verwendet habe:
_____________________________________________________________________
Wie heißt das Land südlich von Mordor?
<p onClick="alert('Richtig!');">a) Harad</p>
<p onClick="alert('Falsch!');">b) Minas Tirith</p>
<p onClick="alert('Falsch!');">c) Khand</p>
<br>
<hr>
Wo kämpfen Frodo etc. zum ersten Mal gegen die Ringgeister?
<p onClick="alert('Falsch!');">a) Bruchtal</p>
<p onClick="alert('Richtig!');">b) Wetterspitze</p>
<p onClick="alert('Falsch!');">c) Bree</p>
<br>
<hr>
Wer ist der Regisseur vom Film?
<p onClick="alert('Falsch!');">a) Steven Spielberg</p>
<p onClick="alert('Richtig!');">b) Peter Jackson</p>
<p onClick="alert('Falsch!');">c) Michael Bully Herbig</p>
_____________________________________________________________________
Ich hoffe, ihr könnt mir helfen - mich verbessern oder mir einfach nur einen Tipp geben - ich freue mich auf jeden Fall!
Vielen Dank im Vorraus,
Philipp B.
Moin!
<script type="text/javascript">
/*
Setzen der Variablen, damit diese auch außerhalb der Funktionen gültig bleiben:
*/
var intRichtigeAntworten = 0;
var intFalscheAntworten = 0;
function auswerten(intAktion,strElement) {
/*
intAktion: 1 für Richtig, 0 für Falsch
strElement: ID des umschliesenden Div
*/
if (intAktion==0) {
intFalscheAntworten++;
alert ("Falsch");
} else {
intRichtigeAntworten++
alert ("Richtig");
} // end if
/*
dies verbirgt den Abschnitt und macht somit ein mehrmaliges Antworten "nicht" möglich:
*/
document.getElementById(strElement).style.display="none";
} // end function
function ausgabe() {
intAlleAntworten = var intRichtigeAntworten + intFalscheAntworten;
alert("Sie hatten " + intRichtigeAntworten + " Antworten von insgesamt "+ intAlleAntworten + ".")
} // end function
</script>
<!-- Ändere Deine Frageblöcke so: -->
<div id="mordor">
Wie heißt das Land südlich von Mordor?
<div onclick="auswerten(1, "mordor");">a) Harad</div>
<div onclick="auswerten(0, "mordor");">b) Minas Tirith</div>
<div onclick="auswerten(0, "mordor");">c) Khand</div>
</div>
<div onclick="auswert();">Ausgabe</div>
Natürlich kannst Du das nach Belieben noch verfeinern... oder korrigieren.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hi,
vielen Dank für die Antwort!
Ich bin leider kein Profi und habe jetzt seit 1 Stunde dran rumgebastelt... Ich kriege das einfach nicht hin.
Kannst du diese Seite - mit nur 1 Frage oder so, das ist egal - mal "druckreif" eingeben, also mit html, body, head, also so dass ich sie mir mal in der "vorschau" anschauen kann?
Ich glaube dann verstehe ich mehr - das wäre eine riesengroße Hilfe!
Vielen Dank,
Philipp