我试图创建测验。现在,我创造变化的问题,结果,但是......只有当我使用提交表格并且仅用于第1个问题(重装页面)时,我才得到结果...我的主要是我无法重新加载页面。我尝试用ajax做但我得到的错误(也许因为我不知道ajax是如何工作的):
Uncaught ReferenceError: $choice is not defined at HTMLButtonElement.<anonymous> ((index):20) at HTMLButtonElement.dispatch (jquery.min.js:2) at HTMLButtonElement.y.handle (jquery.min.js:2) (anonymous) @ (index):20 dispatch @ jquery.min.js:2 y.handle @ jquery.min.js:2
我的代码: 部分来自主要代码:
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<title>Quiz</title>
<script >
$(document).ready(function(){
$("#result").click(function(){
post_data = {$choice}
$.ajax({
method: 'get',
data: post_data,
url: 'grade.php',
success: function (data) {
result = data;
alert(result)
}
})
$("#points").load("grade.php");
});
});
</script>
</head>
<body>
<div id="quiz">
<?php
$sql= "SELECT* FROM quiz ";
$result = $conn->query($sql);
mysqli_set_charset($conn,"utf8");
$row = $result->fetch_assoc();
$ans_array = array($row['choice1'] ,$row['choice2'] , $row['choice3'] , $row['choice4'] , $row['correct'] );
shuffle($ans_array);
$choice = "quizid".$row['quizId'];
?>
<h3><?=$row['topic'];?></h3>
<h4><?=$row['question'];?></h4>
<div>
<input type="radio" name="$choice" value="<?=$ans_array[0]?>"><label id="<?= $ans_array[0];?>">A) <?= $ans_array[0];?></label></br>
</div>
<div>
<input type="radio" name="$choice" value="<?=$ans_array[1]?>"><label id="<?= $ans_array[1];?>">B) <?= $ans_array[1];?></label></br>
</div>
<div>
<input type="radio" name="$choice" value="<?=$ans_array[2]?>"><label id="<?= $ans_array[2];?>">C) <?= $ans_array[2];?></label></br>
</div>
<div>
<input type="radio" name="$choice" value="<?=$ans_array[3]?>"><label id="<?= $ans_array[3];?>">D) <?= $ans_array[3];?></label></br>
</div>
<div>
<input type="radio" name="$choice" value="<?=$ans_array[4]?>"><label id="<?= $ans_array[4];?>">E) <?= $ans_array[4];?></label></br>
</div>
</div>
<p id="points"></p>
<button id="result">check</button>
<button id="next">next question</button>
PHP:grade.php
<?php
include 'db.php';
$sql= "SELECT* FROM quiz";
$result = $conn->query($sql);
mysqli_set_charset($conn,"utf8");
$row = $result->fetch_assoc();
$answer = $_GET['$choice'];
$totalCorrect = 0;
if ($answer == $row['correct']) { $totalCorrect++; }
echo "$totalCorrect / 15 correct";
?>
我需要做什么: 1.显示问题 2.检查答案是否正确 3.计算正确的答案 4.转到下一个问题 一遍又一遍......
强烈推荐任何帮助。我堆叠3天,不能再走了。