禁用浏览器的表单输入预填/自动填充功能,当点击“返回”按钮时。

8
我想要“防止浏览器在点击“返回”按钮时预填表单输入”。实际上,我希望用jsp添加初始值,而不是浏览器(缓存)的值。
解决方案1:我发现可以通过禁用当前页面的浏览器缓存来完成此操作。考虑到我“只”想要禁用这个预填特性对于一个“form”(因此只禁用表单而不是整个页面),这似乎是一个相当极端的解决方案。
解决方案2:那么,显然的下一个解决方案是使用javascript:即,在data-*属性中存储初始值,然后在页面加载时,如果它们不同,则用初始值替换输入值。
这两种解决方案似乎都不完美(这些都是解决方法),我求助于你们,希望听到更好的建议。
资源:
1个回答

4
我首先想到的是使用一个<input type="reset">按钮。这些现在很少见,因为用户很少实际上想要重置表单,但在这里可能正是您所需要的。
您也可以在页面加载时使用form.reset();的javascript代替为用户提供按钮来完成此操作。

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

这与您的解决方案2类似,因此仍然是浏览器行为的一种变通方法,但它是标准表单的(旧)部分,我认为它只需要非常少量的额外代码就可以完成任务(无需使用data-*属性),所以想把它提出来。

非常好的提示,谢谢。此外,以下是关于 form.reset() 的相关答案:https://dev59.com/LW865IYBdhLWcg3wfusk - Adriano

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接