我想“在点击”后退“按钮时阻止浏览器预填表格输入”。实际上,我希望填充初始值(通过jsp添加),而不是浏览器的(缓存)值。
解决方案1:我发现可以通过禁用当前页面的浏览器缓存来完成此操作。考虑到我“只”想要为“表单”禁用此预填充功能(因此仅禁用表单的缓存,而不是整个页面),这似乎是一个相当极端的解决方案。
解决方案2:然后,明显的下一个解决方案是使用javascript:即,将初始值存储在data- *属性中,然后,在页面加载时,如果它们不同,则将输入值替换为初始值。 / p>
这两种解决方案看起来都不完美(这些都是相当有效的)我转向你们希望听到更好的解决方案。
资源:
答案 0 :(得分:3)
我想到的第一件事是使用<input type="reset">
按钮。现在经常看不到这些,因为用户很少真正想要重置表单,但在这里它可能就是你需要的。
您也可以在页面加载时使用form.reset();
在javascript中执行此操作,而不是为用户提供按钮。
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.reset
这类似于您的解决方案2,因此仍然是浏览器行为的解决方法,但它是标准表单的一个(旧的)部分,我认为它只需很少的额外代码即可完成这项工作(不需要数据 - *属性),所以想把它扔出去。