javascript - 在页面刷新时保留表单数据

标签 javascript html forms

我遇到这样一种情况,由于某种原因,网页可能会在用户填写表单时刷新。不需要的效果是删除用户已经输入的数据。

是否有一种解决方案可以让表单数据在页面刷新时保持不变?

表单包括文本输入和选择。

最佳答案

你说 “我遇到了网页由于某种原因可能会刷新的情况”,你的意思是用户可能会刷新页面,还是其他一些脚本会刷新页面?如果是后者,您可能应该尝试解决导致刷新的问题,而不是尝试保留表单数据。如果是前者,JavaScript 可能是适合您的解决方案。

您可以监听任何表单元素上的每个 keyup 事件。当触发 keyup 事件时,您序列化表单数据并将其写入 cookie(或网络存储,具体取决于您需要支持的浏览器),以保留最新数据。如果页面重新加载,或者如果用户离开页面并返回,cookie 可以在文档就绪时反序列化,您可以使用 cookie 中的数据重新填充表单。当您发布表单时,请务必同时清除 cookie,以确保用户下次加载页面时不会填写该表单。

更新

这是一个很好的blog post关于如何使用GSerializer用于使用 JavaScript 进行序列化和反序列化。

关于javascript - 在页面刷新时保留表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9423165/

相关文章:

javascript - 查找相邻节点

javascript - 按钮未运行 JavaScript

mysql - 无法将表单帖子存储在数据库中

javascript - 如何在没有动画的情况下完成 scrollRight?

javascript - 根据搜索显示 div

javascript - setTimeout 是否创建函数实例?

javascript - 如何修复相关的 jQuery 下拉选择代码?

javascript - 谷歌地图 : How to redirect to other points in the map?

javascript - 日期出来了,但不是以预期的方式

c# - 如何让 ActionResult 方法返回要下载的文件和部分 View ?