这是一个简单的,但我无法弄清楚。
我有一个简单的表格:
<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 {
但我不知道我在哪里有额外的{。
答案 0 :(得分:2)
您需要使用jQuery加载PHP测验结果HTML页面。然后你想把它注入dom。
包含jQuery,然后这个例子应该有效,假设测验结果页面在(php / quizResult.php) - 你可以随意设置
的jQuery
$.get('php/quizResult.php', function(data) {
$('.result').html(data);
alert('Load was performed.');
});
HTML
<div class="result"></div>
将jQuery放在JavaScript中的函数中,并在想要加载结果时调用它。
答案 1 :(得分:0)
这是克里斯蒂安暗示的一个例子:
$.post('/callcenter/admin/postContacts', data, function(returnedData) {
// do something here with the returnedData
console.log(returnedData);
});
然后您的PHP页面将返回JSON。