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

Keeping Form Data on Page Reload

本文关键字:保留 表单 数据 加载 新加载      更新时间:2023-09-26

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

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

$('form').sisyphus();

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

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

长时间保留到数据库。

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

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