html - 点击 "back"按钮时禁用浏览器表单输入预填充/自动填充功能

标签 html forms input

我想“防止浏览器在点击“后退”按钮时预填表单输入”。实际上,我希望填写初始值(通过 jsp 添加),而不是浏览器的(缓存的)值。

解决方案 1:我发现这可以通过禁用当前页面的浏览器缓存来完成。这似乎是一个相当极端的解决方案,考虑到我“只想”为“表单”禁用此预填充功能(因此仅禁用表单缓存,而不是整个页面)。

解决方案 2:那么,显而易见的下一个解决方案是使用 javascript:即将初始值存储在 data-* 属性中,然后在页面加载时,如果输入值不同,则将其替换为初始值。

这两种解决方案似乎都不完美(这些都是解决方法)我向你们求助,希望听到更好的解决方案。

资源:

最佳答案

我首先想到的是使用 <input type="reset">按钮。这些现在并不常见,因为用户很少真正想要重置表单,但在这里它可能正是您所需要的。

您也可以在页面加载时使用 javascript 使用 form.reset(); 执行此操作而不是为用户提供按钮。

https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.reset

这与您的解决方案 2 类似,因此仍然是浏览器行为的解决方法,但它是标准表单的(旧)部分,我认为它只需很少的额外代码(不需要data-* 属性),所以想把它扔在那里。

关于html - 点击 "back"按钮时禁用浏览器表单输入预填充/自动填充功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25019160/

相关文章:

javascript - 将 prompt-sync require 转换为 import 方法

c - C中的输入切换

javascript - 默认选择选项

html - 如果文本很长,Firefox 35.0 会切断标题工具提示

javascript - Jquery $(window).width() 不包括滚动条宽度?

html - 下拉导航中的 CSS 悬停状态

php - 需要添加对静态 HTML 站点的搜索

javascript - 无法提交 data-live-search 为 true 的表单(Bootstrap-select)

c# - 如何在 LINQ 查询中将字符串解析为 float ?

检查输入是否为数字