これは簡単なことですが、私にはそれがわかりません。
私は単純なフォームを持っています:
<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 {
しかし、どこに余分な {.