大多数浏览器缓存表单输入值。因此,当用户刷新页面时,输入具有相同的值。
这是我的问题。当用户单击“保存”时,服务器将验证POST数据(例如,检查的产品),如果无效,则将其发送回浏览器。但是,如上所述,即使服务器清除了某些值的选择,由于浏览器缓存的缘故,仍然可能会选择它们!我的数据具有不可见的(直到选中父项)复选框,因此用户甚至可能不知道仍选择了某个以前的值,直到再次单击“保存”并获得错误消息- 即使用户认为没有。这很烦人。
可以通过执行Ctrl-F5来解决,但这甚至不是解决方案。是否有一种自动/编程方式来告诉浏览器不要在某些表单/页面上缓存表单输入数据?
您是否将这些值明确设置为空白?例如:
<input type="text" name="textfield" value="">
那应该停止浏览器将数据放到不应该放的地方。或者,您可以将autocomplete属性添加到表单标签:
autocomplete
<form autocomplete="off" ...></form>