我一直在尝试寻找 Safari/Chrome 中后退按钮错误的解决方法(浏览器将虚假数据放在不属于它们的字段中)。我没有任何运气,现在似乎应该有一个很好的解决方案(我看到关于这个问题的帖子可以追溯到 2009 年,但没有很好的解决方案)。
在这个例子中:http: //jsfiddle.net/eGutT/13/
您可以看到在初始页面加载时一切正常。但是,单击链接后,然后单击浏览器上的后退按钮,值会传播到错误的字段。请使用 Safari 或 Chrome 进行测试。它在 Firefox 上运行良好。
这是一个非常严重的问题,尤其是在以下情况下:
- 用户点击后退按钮,出现此错误
- 用户没有注意到虚假数据
- 用户对表单进行了一些不相关的更改(在不同的未受影响的字段中)
- 用户提交表单
现在您面临的情况是虚假数据被提交到数据库!
顺便说一句,这个问题可能与 jQuery 有关,因为如果您在示例中取消注释此行:
updateRowNums(); // IF YOU COMMENT OUT THIS LINE...
没有引入额外/虚假数据。
谢谢,盖伦