0

我正在进行在线考试,但计时器部分有问题。每次用户单击下一个按钮以获取新页面时,计时器都会重新启动。这是我的代码。我正在使用 laravel

http://paste.laravel.com/iOo

如果无法完成考试,我还想添加保存和退出的选项。任何帮助将不胜感激。

4

2 回答 2

1

您可以在 cookie 中记录考试的开始时间,然后每个页面都可以在页面加载时读取该 cookie,以查看考试开始时间。

于 2013-02-26T06:08:54.160 回答
1

您可能想尝试这种方式:

  • 测试开始时,为当前测试创建一个会话变量以保存问题,例如“testQuestions”
  • 创建一个函数,该函数将发送包含来自“testQuestions”数组的单个问题的 json 输出。因此,每当您使用适当的索引查询该 url 时,您都会得到该问题。您还可以在发送该问题时添加其他信息,例如 nextQuestionIndex、prevQuestionIndex 等。他们将帮助您在前端创建 Next 和 Previous 按钮。
  • 然后在前端,您可以创建多个部分(或带有 ID 的 div),一个用于显示计时器,一个用于显示问题。
  • 然后在 JavaScript 中为下一个和上一个按钮上的单击事件编写函数。您可以发送 ajax 请求并获取包含下一个问题的 json 响应。您可以修改当前问题的内容以显示下一个或上一个问题。

您可以改进此策略并在单击“下一个”或“上一个”按钮时提交问题表单。这样,您将更新问题的答案并在单个呼叫中接收下一个/上一个问题。因为您将使用 ajax 请求,所以可以避免页面刷新。

于 2013-02-26T09:17:18.487 回答