我做了一个短期游戏,其中人们给出了顺序提出的问题的答案,并且他们的分数存储在用正确答案更新的变量中(即 var Score = 0; function ScoreUpdate {if (event.keyCode == correctAnswer) {Score = Score +1;}}
)。最后,调用JavaScript函数将这些变量放入一个表单中,随后将其“POST”到一个页面,然后将所有内容添加到MySQL数据库中。表格提交窗口关闭
问题是,有些人会中途停下来,只需关闭窗口/选项卡,导致没有提交任何分数(因为将所有变量放入表单并提交它的JavaScript函数未激活)。因此,我正在寻找一种方法,可以在用户关闭窗口时自动激活保存分数的功能,提交表单并上传到数据库。这涉及到PHP和JS,因此我想知道是否所有这些在一个事件中甚至是可能的? (即window.onbeforeunload?)
我试过这个解决方案:https://stackoverflow.com/a/1632004/1092247,但它不包括自动表单提交(它甚至不提供对我来说一般的工作,因为它甚至在提交表单时仍会提示) 。
正如你所看到的,我在这里比较新,远没有高级的JS和PHP知识。任何帮助将非常感谢! :)
我会建议在每个答案上提交数据给服务器,而不是在本地更新结果,然后在测验结束时提交。这样,如果他们在测验中退出,您至少可以保存一些结果 – 2012-01-31 16:07:40