大多数浏览器缓存形成输入值。因此,当用户刷新页面时,输入具有相同的值。
这是我的问题。当用户单击“保存”时,服务器将验证POSTed数据(例如已检查的产品),如果无效,则将其发送回浏览器。但是,如上所述,即使服务器清除某些值的选择,由于浏览器缓存,它们仍可能被选中!我的数据不可见(直到选中父项)复选框,因此用户可能甚至不知道仍然选择了某些先前的值,直到再次单击“保存”并收到错误消息 - 即使用户认为不是。这很烦人。
这可以通过Ctrl-F5解决,但它甚至不是解决方案。是否有一种自动/编程方式告诉浏览器不要在某个表单/页面上缓存表单输入数据?
答案 0 :(得分:179)
您是否明确将值设置为空白?例如:
<input type="text" name="textfield" value="">
这应该会阻止浏览器将数据放在不应该的位置。或者,您可以将autocomplete
属性添加到表单标记:
<form autocomplete="off" ...></form>
答案 1 :(得分:40)
如果浏览器已经保存了值,那么它就无法使用value =“”,因此您应该添加
对于输入标记,可以设置属性autocomplete:
<input type="text" autocomplete="off" />
您也可以为表单使用自动填充功能。
答案 2 :(得分:8)
另一种方法是在HTML中的表单后立即使用JavaScript重置表单。
<form id="myForm">
<input type="text" value="" name="myTextInput" />
</form>
<script type="text/javascript">
document.getElementById("myForm").reset();
</script>
答案 3 :(得分:6)
迟到了,但这对我来说适用于较新的浏览器:
自动填充= “新密码”
答案 4 :(得分:5)
基本上,有两种方法可以清除缓存:
<form autocomplete="off"></form>
或
$('#Textfiledid').attr('autocomplete','off');
`