0

これは簡単なことですが、私にはそれがわかりません。

私は単純なフォームを持っています:

<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 {しかし、どこに余分な {.

4

2 に答える 2

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 の関数に入れ、結果をロードするときに呼び出します。

于 2013-02-28T20:52:04.880 に答える
0

クリスチャンがほのめかした例を次に示します。

$.post('/callcenter/admin/postContacts', data, function(returnedData) {
    // do something here with the returnedData
    console.log(returnedData);
});

PHP ページは JSON を返します。

参考文献 ajax 投稿のために jQuery から PHP にデータを渡す

于 2013-02-28T20:57:06.197 に答える