浏览器刷新后,IE表单输入数据消失

RWW*_*RWW 2 html internet-explorer caching refresh input

我正在尝试在没有PHP的情况下实现粘性表单.我的设置是像JavaScript一样的AJAX.IE和FF上的后退/前进工作正常,但刷新仅适用于FF,而不适用于IE.无论我使用什么缓存选项,我甚至设置IE的临时文件选项永远不检查更新,页面刷新后输入值消失(刷新按钮或F5)

我已经阅读了许多人们遇到相反问题的帖子,并且不希望表单数据在页面刷新期间持续存在,并且从不从浏览器缓存中读取,但我确实如此.

任何帮助表示赞赏,谢谢!

PS.HTML之类的帖子- 刷新后保留的输入值与我的问题完全相反

Not*_*tMe 5

IE/Chrome/Safari/Opera /等具有预期的行为.

我认为当你点击刷新时,FF实际上并没有刷新字段.

毕竟,刷新的目的是转储您拥有的内容并从服务器重新加载.对于Firefox,然后合并任何更改的信息/字段回到表单是意外的行为,恕我直言,设计不好.

另外请注意,这个问题已经在被打了Mozilla的10年.这是许多重复的bug报告的来源,被许多人认为是一个关键的失败,是很坦率地说一个完整的PITA.我不知道我有多少次解释,非技术人员,为什么Firefox的 Reload按钮不,好,重新加载页面.

最近我一直采取的只是告诉他们,Firefox的Reload按钮坏了,他们不得不要么按住其点击刷新shift键或使用其他浏览器.谢天谢地,我们有选择.

---更新由于评论说明F5和Ctrl-F5是什么混淆 -
所有浏览器(Firefox除外)都将F5视为"重新加载".这意味着如果禁用缓存,则从缓存或服务器重新加载页面.Firefox确实进行了重新加载,但它也会重新填充你输入的东西的任何方框......只要这些字段仍然存在.恕我直言,这是一个不好的行为,因为一个页面可能已经改变,你最终处于一个非常无效的状态,其中一些东西填写而其他东西没有.

要清楚,缓存不包含您在页面中键入的内容; 缓存只包含服务器发送给您的内容.因此,Firefox本身会尝试合并以前输入和未提交的数据.同样,没有其他浏览器这样做,这是一个很混乱的来源.

所有浏览器(包括Firefox)都将Ctrl F5视为"从服务器重新加载".这会忽略您缓存的任何文件(图像,CSS,JavaScript等),并从服务器中提取全新文件.值得庆幸的是,当您执行Ctrl-F5时,Firefox不会将未提交的数据合并回页面.