IE/Chrome/Safari/Opera/etc有预期的行为。
我认为这是一个错误,FF单击刷新时实际上并未刷新字段。
毕竟,刷新的目的是从服务器上转储你已经重新加载的东西。对于Firefox然后将任何已更改的信息/字段重新合并到表单中是意想不到的行为,恕我直言,设计不好。
另请注意,这个问题已在Mozilla for 10 years上发生了争执。它是很多重复错误报告的来源,被许多人认为是一个严重的失败,而且很坦率地说是一个完整的PITA。我不知道有多少次我不得不向非技术人员解释为什么重新加载按钮不能重新加载页面。
最近我刚刚告诉他们Firefox重新加载按钮已损坏,他们必须按住Shift键来点击刷新或使用不同的浏览器。谢天谢地,我们有选择。
---更新由于评论指出分不清什么F5和Ctrl-F5是 -
所有的浏览器(Firefox的除外)治疗作为F5 “刷新”。这意味着如果缓存被禁用,则从缓存或从服务器重新加载页面。 Firefox不会重新加载,但它也会重新填充您输入内容的所有框......只要这些字段仍然存在即可。恕我直言,这是不好的行为,因为页面可能已经改变,并且最终处于非常无效的状态,其中一些事物被填充而另一些则没有。
要清楚,缓存不包含您在页面中输入的内容;缓存只包含服务器发送给您的内容。因此,Firefox本身需要尝试合并之前输入和未提交的数据。再次,没有其他浏览器这样做,这是一个很混乱的来源。
所有浏览器(包括Firefox)都将Ctrl F5视为“从服务器重新加载”。这会忽略任何已缓存的文件(图像,CSS,JavaScript等),并将其从服务器拉下来。值得庆幸的是,当您执行Ctrl-F5时,Firefox不会将未提交的数据合并回页面。
我也试过 “的行为:网址( '#默认#savehistory')”和自动完成无效 – RWW 2010-06-14 23:02:53
如果此功能非常重要,那么只需编写一个AJAX函数,将表单值转储到服务器上的会话中,然后使用另一个AJAX函数重新填充刷新时的字段。 – 2010-06-15 20:47:45