我有一个包含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>
标题
答案 0 :(得分:4)
Firefox尝试在常规(非硬)重新加载时保留表单值。事实上,所有浏览器都会这样做。
Firefox使用的特定算法在面对DOM更改时效果不佳;它在页面卸载时使用DOM中节点的位置来保存状态,但是在页面加载时用于恢复它的位置。所以,如果那些不匹配,你会得到奇怪的行为......