这是一个简单的,但我无法弄清楚。显示没有页面重装的php测验的结果
我有一个简单的表格:
<form action='#' method="post">
<label for="question-1">Question One</label>
<input type="radio" name="question-1-answers" value="1" />
<input type="radio" name="question-1-answers" value="2" />
<label for="question-2">Question Two</label>
<input type="radio" name="question-2-answers" value="1" />
<input type="radio" name="question-2-answers" value="2" />
<input type="submit" value="Submit Quiz" class="submit"/>
</form>
然后我在results.php
简单的PHP计算结果:
<?php
$answer1 = $_POST['question-1-answers'];
$answer2 = $_POST['question-2-answers'];
$result = 0;
$a =array(0=> "$answer1", 1=> "$answer2");
$result = array_sum($a)/count(array_filter($a));
echo "Your score is: "; echo round($result, 1);
?>
这一切的伟大工程,但我想要的结果显示在与用户按下提交按钮时的测验相同的页面,而无需重新加载页面。我知道我需要使用jQuery,但是我所看到的每个地方都有不同的方式,并且没有任何效果。
编辑:
因此,我增加了以下内容:
$function() {
$.get('../results.php', function(data) {
$('.result').html(data);
alert('Load was performed.');
});
}
和
<div class="result">The results are:</div>
,并更新了<input type="submit" value="Submit Quiz" class="submit" onclick="function()"/>
提交按钮,我还没有得到任何东西的时候我点击提交按钮,当我检查控制台时他唯一的错误是:Uncaught SyntaxError: Unexpected token {
但我不知道我有多余的{}。
你需要AJAX你绝对不需要jQuery。 – Musa 2013-02-28 20:53:08
你能举一个我怎么做的例子吗? – Arel 2013-02-28 20:54:25