0

オンライン試験を作成していますが、タイマー部分に問題があります。ユーザーが次のボタンをクリックして新しいページを取得するたびに、タイマーが再起動します。これが私のコードです。ララベルを使用しています

http://paste.laravel.com/iOo

また、試験を完了できない場合に保存して終了するオプションを追加したいと考えています。どんな助けでも大歓迎です。

4

2 に答える 2

1

この方法を試してみてください。

  • テストが開始したら、質問を保持するための現在のテストのセッション変数を作成します(例:'testQuestions')
  • 'testQuestions'配列からの単一の質問を含むjson出力を送信する関数を作成します。したがって、適切なインデックスを使用してそのURLをクエリすると、その質問が表示されます。その質問を送信するときに、nextQuestionIndex、prevQuestionIndexなどの追加情報を追加することもできます。フロントエンドの[次へ]ボタンと[前へ]ボタンを作成するのに役立ちます。
  • 次に、フロントエンドで、複数のセクション(またはIDを持つdiv)を作成できます。1つはタイマーを表示するためのもので、もう1つは質問を表示するためのものです。
  • 次に、次と前のボタンのクリックイベント用の関数をJavaScriptで記述します。ajaxリクエストを送信して、次の質問を含むjsonレスポンスを取得できます。現在の質問の内容を変更して、次または前の質問を表示できます。

この戦略を改善し、[次へ]または[前へ]ボタンをクリックしたときに質問フォームを送信できます。このようにして、質問の回答を更新し、1回の呼び出しで次/前の質問を受け取ります。ajaxリクエストを使用するため、ページの更新を回避できます。

于 2013-02-26T09:17:18.487 に答える
1

試験の開始時刻を Cookie に記録すると、ページがロードされたときに各ページでその Cookie を読み取って、試験の開始時刻を確認できます。

于 2013-02-26T06:08:54.160 に答える