关于浏览器后退前进对表单控件值的控制

bjb05 2013-03-27 10:26:44
这个问题不知道大家都了解不了解,请大虾帮忙解答下。

之前做过一个表单控件用js插件模拟美化的东西,就是用div生成控件的样子,模拟控件行为。但没注意过原生的表单控件在浏览器前进后退时是如何工作的,所以做着很烦恼。
今天发现了个问题,比如我在1页面输入框里输入文字,改变url到2页面,这时清空浏览器缓存,再后退到1页面发现输入框的值还存在,同事说浏览器就是这样工作的。我有两个疑问:1.如何工作的,如果是原来页面上没有输入框,通过用户操作借助js添加的输入框,能否在用户后退时,js生成输入框并显示之前用户输入的值?2.其他的表单控件没研究过,比如select,radio,checkbox,这个是不是要了解些html的文档,有没有相关的学习资料能介绍下。

先谢过。
...全文
185 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
未知数 2013-03-27
浏览器保存表单元素输入值的功能与缓存无关 动态生成的输入框无法享受这个功能,因为页面加载时它不存在 该功能不属于标准内容,是浏览器提供的优化功能,所以不能保证兼容性 你可以用cookie保存原来的输入值,进入页面时从cookie中读取出来,用js赋值给对应标签
  • 打赏
  • 举报
回复
bjb05 2013-03-27
应该是你说的情况,但我不知道对于表单的网页交互应该怎么做,比如表单上有很多js插件实现的控件,要是实现前进后退的操作岂不是很麻烦,为什么没见过类似的文章,是因为这样的设计不合理费力不讨好吗
引用 1 楼 theforever 的回复:
清空缓存时包括COOKIE了吗?以前很多页面都是通过COOKIE来保留和提取值的。 现在的浏览器大多是通过系统设置里有一项是否保留控件值的设置来决定的,所以有专门的表单数据管理区,包括密码口令等信息。对于JS临时创建的控件,因为每次都是崭新创建的,所以不会为其保留值的。 不过这个问题一般可以不用太考虑,用户如果清空COOKIE,自然就应该是这个结果。比如你设计……
  • 打赏
  • 举报
回复
清空缓存时包括COOKIE了吗?以前很多页面都是通过COOKIE来保留和提取值的。 现在的浏览器大多是通过系统设置里有一项是否保留控件值的设置来决定的,所以有专门的表单数据管理区,包括密码口令等信息。对于JS临时创建的控件,因为每次都是崭新创建的,所以不会为其保留值的。 不过这个问题一般可以不用太考虑,用户如果清空COOKIE,自然就应该是这个结果。比如你设计一个业务管理系统时,还能通过程序来防止电脑意外掉电吗?
  • 打赏
  • 举报
回复
bjb05 2013-03-27
你说的应该是历史记录,下次访问这个页面填充表单时会提示自动填充
引用 5 楼 liukewengx 的回复:
清理浏览器缓存里面貌似有个“表单数据”的选项,你看看你的浏览器设置是否有勾上
  • 打赏
  • 举报
回复
鸡肋啊 2013-03-27
清理浏览器缓存里面貌似有个“表单数据”的选项,你看看你的浏览器设置是否有勾上
  • 打赏
  • 举报
回复
bjb05 2013-03-27
恩谢谢,我再了解下吧。我之前也是赋值,但这工作不大好弄,如果不是原生表单控件,甚至有些是用户操作后js执行的结果,还要重新还原用户的行为结果,太麻烦了。看来交互方式的规则还要学习下
引用 3 楼 wzs_xyz 的回复:
浏览器保存表单元素输入值的功能与缓存无关 动态生成的输入框无法享受这个功能,因为页面加载时它不存在 该功能不属于标准内容,是浏览器提供的优化功能,所以不能保证兼容性 你可以用cookie保存原来的输入值,进入页面时从cookie中读取出来,用js赋值给对应标签
  • 打赏
  • 举报
回复
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2013-03-27 10:26
社区公告
暂无公告