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"