javascript - Chrome/Safari 中的后退按钮错误

标签 javascript jquery google-chrome safari back

我一直在努力寻找解决 Safari/Chrome 中后退按钮错误的方法(浏览器将虚假数据放在它们不属于的字段中)。我运气不好,现在似乎应该有一个很好的解决方案(我看到关于这个的帖子可以追溯到 2009 年,但没有好的解决方案)。

在这个例子中:http://jsfiddle.net/eGutT/13/

您可以看到初始页面加载时一切正常。但是,单击链接后,单击浏览器上的后退按钮,值将传播到错误的字段。请使用 Safari 或 Chrome 进行测试。它在 Firefox 上运行良好。

这是一个非常严重的问题,尤其是在:

  1. 用户点击后退按钮,出现此错误
  2. 用户没有注意到虚假数据
  3. 用户对表单进行了一些不相关的更改(在不同的未受影响的字段中)
  4. 用户提交表单

现在您面临着将虚假数据提交到数据库的情况!!

顺便说一句,这个问题可能与 jQuery 有关,因为如果您取消注释示例中的这一行:

updateRowNums();  // IF YOU COMMENT OUT THIS LINE...

没有引入额外/伪造的数据。

谢谢, 盖伦

最佳答案

您是在谈论 0、1 和 2 吗?因为您的函数 updateRowNums 会自动强制这些值。如果您想维护第一列,您可以将 updateRowNums 更改为如下所示:

if (!$('#some_id').val()) { $('#some_id').val(x); }

(显然这不是最有效的代码,但如果不存在任何值,它会重置该字段。)

但是,如果不是您所说的,那么我无法重现您的问题。我使用的是 Chrome 9.0.597.83,它在所有正确的位置保存了所有正确的数据。

关于javascript - Chrome/Safari 中的后退按钮错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4831785/

相关文章:

javascript - 在 Apexcharts 上动态更新标题

javascript - 希望用户能够确定 Chrome 扩展的 css/js 应用于哪些 URL

javascript - 确定一个节点是否与另一个节点重叠

php - 避免在未设置复选框时显示 JavaScript 确认

javascript - 页面加载后 Express.js 加载文件

javascript - 如何删除具有空值的奇怪 cookie?

linux - 带文件路径参数的 Windows 10 Bash 和 Google Chrome

javascript - 如何使用 angular2-highcharts 和 AOT 编译器导入导出.js 和导出数据.js?

javascript - 如何获得 overflow hidden 的加载链接并在悬停时显示完整内容?

javascript - 使用 Jquery/Js 以 "2015-06-23"格式获取 7 天前的日期