为什么我的数据在Firefox中进行F5刷新后会移动?

时间:2011-09-22 16:29:08

标签: javascript jquery firefox

我有一个包含4个表格的网页。每行包含两个带数值的文本框。文本框中填充了来自服务器的数据。但是,发生了一些奇怪的事情。

如果我将数据添加到一行,请说第1行。然后刷新页面...两个值向下移动6行。我查看了在服务器上创建的数据,它绝对不是来自服务器。此外,HTML也不显示此数据。

例如,

<input id="itemTypeRow6" class="ItemType" type="text" data-uniqueid="Some ID" value="">

value =“”,但是在查看网页时,文字会显示 2。(我点击刷新前输入的值)。

我确实有一些jQuery正在运行,但据我所知,document.ready上的这个页面上没有任何事情发生,除了各种事件绑定。

这怎么可能发生? (仅限Firefox [v4.0.1],IE7中不会出现)

仅当我进行F5刷新时才会发生这种情况。如果我上到地址栏并点击<Enter>,则不会发生。

我使用<!DOCTYPE html>标题

1 个答案:

答案 0 :(得分:4)

Firefox尝试在常规(非硬)重新加载时保留表单值。事实上,所有浏览器都会这样做。

Firefox使用的特定算法在面对DOM更改时效果不佳;它在页面卸载时使用DOM中节点的位置来保存状态,但是在页面加载时用于恢复它的位置。所以,如果那些不匹配,你会得到奇怪的行为......