【发布时间】:2012-05-14 13:31:18
【问题描述】:
我目前正在制作一个网站,我需要一种简单的方法来在页面重新加载时保留表单数据。是否有可能做到这一点?我在想它可以用javascript来完成。无论如何,如果您对如何执行此操作有任何想法,请发表评论。谢谢!
【问题讨论】:
-
你可以使用 JS cookie。但随后您会将数据存储在客户端计算机上。
标签: javascript forms html reload
我目前正在制作一个网站,我需要一种简单的方法来在页面重新加载时保留表单数据。是否有可能做到这一点?我在想它可以用javascript来完成。无论如何,如果您对如何执行此操作有任何想法,请发表评论。谢谢!
【问题讨论】:
标签: javascript forms html reload
查看sisyphus.js,它将通过客户端上的localStorage 存储表单数据,并在提交/重置时将其清除。直接来自文档的简单示例:
$('form').sisyphus();
仅作记录,还有其他可用的库/解决方案
【讨论】:
如果这不必是客户端,为什么不偶尔将表单发送到服务器以供以后检索。类似于使用 jQuery 的 serialize() 发送 ajax 帖子(请参阅http://api.jquery.com/serialize/)。在服务器上,您可以将其保留在内存(会话状态)中,或者如果需要长时间保存到数据库中。
更好的解决方案可能是捕获 window.onbeforeunload 事件,将表单数据 ajax 到服务器,然后在重新加载从服务器重新检索表单时使用发布的数据。
您可能需要小心,因为我注意到一些浏览器已经尝试这样做。据我回忆,FireFox 实际上会尝试保持表单状态,因此请确保这两种方法(您的和浏览器的)不会在某些浏览器中发生冲突。
【讨论】: