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