我正在构建一个非常简单的测验:http://fh80.student.eda.kent.ac.uk/fyp-assets/quiz/quiz.php
在测验结束时,它应该显示你有多少权利,例如5/10。
关于它的一个问题是每个问题都是通过AJAX引入的,所以每个问题都是一个不同的.php文件。此外,对于每个问题,都有问题页面和答案页面。 E.g question1.php
和question1a.php
我在页面上为分数创建了一个变量:
/* Quiz Score */
var quizScore = 0;
当您通过AJAX加载question1.php
时,会出现以下脚本:
document.getElementById("nextQuestion1a").onclick = function(){
var correctAnswer = document.getElementById("lightningbolt");
if (correctAnswer.checked){
quizScore = quizScore+1;
}else{}};
正确答案的ID为lightningbolt
<input type="radio" name="question1" value="lightningbolt" id="lightningbolt">Lightning Bolt<br>
因此,当选中此输入/单选按钮时,它应该遵循该功能并且+1到quizScore;
if (correctAnswer.checked){
quizScore = quizScore+1;
我认为这不起作用,因为执行此操作的事件处理程序是onClick
nextQuestion(ID)
- 这是启动AJAX的相同按钮,它将您带到下一页(在此例如,点击nextQuestion1a
会转到question1a.php
)
所以我想我需要以某种方式将它绑定。不是单击该按钮,而是检查单选按钮。
在测验结束时,我输出得分:
<h3>
You got
<script>document.write(quizScore);</script>
/10
</h3>
但是这不会输出任何值,甚至在输出变量时也不会输出0。
ETA:页面上始终存在 变量。该变量未在刷新的内容中声明。所以变量总是在那里。