当前位置: 首页 > 面试题库 >

使用浏览器后退按钮返回时清除表单中的所有字段

卫烨烁
2023-03-14
问题内容

当用户使用浏览器后退按钮时,我需要一种清除表单中所有字段的方法。现在,浏览器会记住所有最后的值,并在您返回时显示它们。

关于我为什么需要它的更多说明,
我有一个禁用的输入字段,该字段的值是使用算法自动生成的,以使其在特定数据组中唯一。一旦我提交了表单并将数据输入数据库,用户就不能再次使用相同的值来提交相同的表单。因此,我首先禁用了输入字段。但是,如果用户使用浏览器的后退按钮,则浏览器会记住最后一个值,并且相同的值会保留在输入字段中。因此,用户可以再次提交具有相同值的表单。

我不了解的是,当您按下浏览器的“后退”按钮时会发生什么。如果页面大小在浏览器缓存限制之内,则似乎是从缓存中检索了整个页面,而无需联系服务器。当您按下浏览器后退按钮时,无论如何设置浏览器,如何确保从服务器加载页面?


问题答案:

现代浏览器实现了称为后向缓存(BFCache)的功能。当您单击“后退/前进”按钮时,不会重新加载实际页面(并且永远不会重新运行脚本)。

如果您在用户按下后退/前进键的情况下必须执行某些操作,请监听BFCache pageshowpagehide事件。

伪jQuery示例:

$(window).bind("pageshow", function() {
  // update hidden input field
});


 类似资料:
  • 问题内容: 如何禁用浏览器的“后退”按钮(跨浏览器)? 问题答案: 这个问题是非常相似,这一个 … 您需要强制缓存过期才能正常工作。将以下代码放在页面代码后面。

  • 问题内容: 我在www.darknovagames.com上运行了基于浏览器的游戏。最近,我一直在努力使用CSS重新格式化该网站,试图让其所有页面都根据HTML标准进行验证。 我一直在想着要在页面左侧放置AJAX导航菜单的想法(而不是每次都将用户带到一个单独的页面,而是需要重新加载标题和导航栏,而这几乎是不会改变的),我知道如果这样做,我可能会破坏浏览器中的“前进/后退”按钮。我的问题是,我应该继

  • 问题内容: 我在Django中使用python,我希望重定向用户在注销后单击“后退”按钮时重定向到登录页面。如何实现呢?在哪里写代码? 要测试django管理员是否处理此..i,请先登录django admin ..注销,然后单击“后退”按钮,然后我就可以看到上一页。为什么django管理员无法处理此问题。 这是在django admin中注销的Ccode: 问题答案: 终于找到了解决方案: 这将

  • 问题内容: 我正在编写一个Web应用程序,该应用程序使用AJAX检索大量数据,该AJAX基本上根据用户单击的按钮修改了加载的页面(假设单击button1会将页面从state0转到state1,依此类推。) 此外,如果将按钮号作为GET变量传递给服务器,则服务器将返回正确状态的页面。 不用说,后退/前进浏览器按钮不起作用,因为在通过AJAX完成状态更改期间URL不会更改。 所以,我的问题是,如何使浏

  • 问题内容: 是否可以检测用户何时单击浏览器的后退按钮? 我有一个Ajax应用程序,如果我可以检测到用户何时单击“后退”按钮,则可以向后显示适当的数据。 任何使用PHP,JavaScript的解决方案都是可取的。最好用任何一种语言解决方案,只需要我可以翻译成PHP / JavaScript的东西即可 编辑:从下面剪切并粘贴: 哇,所有出色的答案。我想使用Yahoo,但我已经使用了Prototype和

  • 问题内容: 我正在用php做在线测验应用程序。我想限制用户再次参加考试。我尝试了以下脚本,但是它停止了我的计时器。我该怎么办? 我已经包含了源代码。计时器存储在cdtimer.js中 我有一个考试计时器,该计时器从 mysql 值中获取考试时间。计时器相应地启动,但是当我放入用于禁用后退按钮的代码时,计时器停止。我怎么了 问题答案: 有许多原因导致禁用后退按钮无法真正起作用。最好的选择是警告用户: