Hallo,
Mein Fragebogen enthält 54 Fragen nach dem Typ Auswahl-Abfolge mit Reaktionszeit. Bei jeder dieser 54 Fragen gibt es immer die gleichen 6 Antwortmöglichkeiten.
Ich möchte, dass die Teilnehmer am Ende meines Fragebogens ein Feedback erhalten, wie viele von den bearbeiteten Fragen korrekt waren. Meine erste Frage wäre, wie ich hinterlege, welche Antwort bei welcher Frage richtig ist. Das muss ja irgendwo gespeichert werden, damit am Ende erkannt wird, wie viele Fragen richtig beantwortet wurden. Ich benötige also eine Variable „correctAnswers“, aber wie erstelle ich diese?
Um die Antworten richtig auszuzählen hätte ich folgenden Code verwendet, dieser funktioniert aber nicht:
<p id="questionCount"></p>
<script>
var numAnswered = 0;
for (var i = 1; i <= 7; i++) {
if (document.getElementById('Q00' + i).value !== '') {
numAnswered++;
}
}
document.getElementById('questionCount').textContent = 'Insgesamt haben Sie ' + numAnswered + ' Aufgaben bewertet.';
</script>
Ein weiterer Code, den ich probiert habe, ist (Beispiel für die ersten 7 Fragen: bei Frage 1 ist die Antwort 6 richtig, bei Frage 2 die Antwort 4 usw.)
<script>
var correctAnswers = {
Q001_answer: 6,
Q002_answer: 4,
Q003_answer: 3,
Q004_answer: 1,
Q005_answer: 5,
Q006_answer: 3,
Q007_answer: 2,
};
var numCorrect = 0;
for (var i = 1; i <= 7; i++) {
var questionId = 'Q' + pad(i, 3);
var selectedAnswer = document.getElementsByName(questionId + '_answer')[0].value;
if (selectedAnswer == correctAnswers[questionId + '_answer']) {
numCorrect++;
}
}
document.getElementById('questionCount').textContent = 'Davon haben Sie ' + numCorrect + ' Aufgaben richtig eingeschätzt.';
function pad(n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}
</script>