在页面重新加载上保留表单数据

时间:2012-05-05 02:50:02

标签: javascript forms html5 reload

我目前正在制作一个网站,我需要一种简单的方法来保持页面重新加载表单数据。是否有可能做到这一点?我以为它可以用javascript完成。无论如何,如果您对如何做到这一点有任何想法,请发表评论。谢谢!

2 个答案:

答案 0 :(得分:1)

查看sisyphus.js,它将通过localStorage在客户端上存储表单数据,并在提交/重置时清除它。直接来自docuentation的简单示例:

$('form').sisyphus();

仅供记录,还有其他可用的库/解决方案

答案 1 :(得分:1)

如果这不是客户端,为什么不偶尔将表单发送到服务器以便以后检索。像使用jQuery的serialize()发送一个ajax帖子(参见http://api.jquery.com/serialize/)。在服务器上,您可以将其保留在内存中(会话状态),或者如果需要长时间可以保留到DB中。

更好的解决方案可能是捕获window.onbeforeunload事件,将表单数据ajax到服务器,然后在重新加载时从服务器重新检索表单时使用发布的数据。

然而,您可能需要注意,因为我注意到某些浏览器已经尝试这样做了。据我所知,FireFox实际上会尝试保持表单状态,因此请确保两种方法(您和浏览器)不会在某些浏览器中发生冲突。