且听疯吟 在此记录扯淡的青春
Firefox 的表单缓存「Bug」

问题

在使用 Firefox 测试网站的时候遇到一个奇怪的问题。
把一份数据写入类型为 hidden 的 input 中时,比如

<input type="hidden" value="@Model.Count" id="Count" />

然后在用 Javascript 修改这个值,比如后台数据原为 0,

var count = parseInt($("#Count").val());
$("#Count").val(count + 1);

不提交表单,刷新页面,发现 $("#Count").val() 的值却不是后台数据的 0,而是我们修改过后的值,这个值被缓存了。

原因

使用其他浏览器测试可以发现,这个问题仅出现在 Firefox 中。从而可以考虑是否 Firefox 对表单缓存的实现「有问题」。

解决

设置 form 的 autocomplete="off"

  • posted on 2013-09-07 11:06
  • firefox