让页面告诉浏览器不要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'); 

`

迟了添加,但这在较新的浏览器中为我工作:

自动完成=“新密码”