制作页面告诉浏览器不要缓存/保留输入值

新手上路,请多包涵

大多数浏览器缓存表单输入值。因此,当用户刷新页面时,输入具有相同的值。

这是我的问题。当用户单击 Save 时,服务器验证 POST 数据(例如检查的产品),如果无效,则将其发送回浏览器。但是,如上所述,即使服务器清除了某些值的选择,由于浏览器缓存,它们仍然可能被选中!

我的数据有不可见的(直到选择父项)复选框,因此用户甚至可能不知道某些先前的值仍然被选中,直到再次单击 保存 并收到一条错误消息 - 即使用户认为它不是。这很烦人。

这可以通过执行 Ctrl + F5 来解决,但这甚至不是解决方案。是否有一种自动/编程方式告诉浏览器不要在某些表单/页面上缓存表单输入数据?

原文由 queen3 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 463
2 个回答

您是否明确将值设置为空白?例如:

 <input type="text" name="textfield" value="">

这应该会阻止浏览器将数据放在不应该的地方。或者,您可以将 autocomplete 属性添加到表单标签:

 <form autocomplete="off" ...></form>

原文由 DisgruntledGoat 发布,翻译遵循 CC BY-SA 2.5 许可协议

基本上,有两种方法可以清除缓存:

 <form autocomplete="off"></form>

或者

$('#Textfiledid').attr('autocomplete', 'off');

原文由 Anand Dwivedi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题