让页面告诉浏览器不要caching/保存input值
大多数浏览器caching表单input值。 所以当用户刷新页面时,input具有相同的值。
这是我的问题。 当用户点击保存时,服务器validation发布的数据(例如选中的产品),如果无效,则将其发送回浏览器。 但是,如上所述,即使服务器清除了某些值的select,也可能因为浏览器caching而被选中! 我的数据不可见(直到父项被选中)checkbox,所以用户可能甚至不知道一些先前的值仍然被选中,直到再次点击保存并得到错误消息 – 即使用户认为它不是。 这是令人不快的。
这可以通过做Ctrl-F5来解决,但它甚至不是一个解决scheme。 有没有一种自动/编程的方式告诉浏览器不要caching某些表单/页面上的表单input数据?
你是否明确地将这些值设置为空白? 例如:
<input type="text" name="textfield" value="">
这应该阻止浏览器把数据放在不应该的地方。 或者,您可以将autocomplete
属性添加到表单标记中:
<form autocomplete="off" ...></form>
从stackoverflow参考
如果浏览器已经保存了值,那么它不会与value =“”一起工作
对于input标签,可以设置属性自动完成:
<input type="text" autocomplete="off" />
您也可以使用自动填充function。
另一种方法是在HTML中的表单之后使用JavaScript来重置表单。
<form id="myForm"> <input type="text" value="" name="myTextInput" /> </form> <script type="text/javascript"> document.getElementById("myForm").reset(); </script>
基本上,有两种方法可以清除caching:
<form autocomplete="off"></form>
要么
$('#Textfiledid').attr('autocomplete','off');
`
迟了添加,但这在较新的浏览器中为我工作:
自动完成=“新密码”