使页面告诉浏览器不要缓存/保留输入值。

14 浏览
0 Comments

使页面告诉浏览器不要缓存/保留输入值。

大多数浏览器会缓存表单输入的值。所以当用户刷新页面时,输入框的值保持不变。\n这是我的问题。当用户点击保存时,服务器会验证提交的数据(例如选中的产品),如果验证失败,服务器会将数据发送回浏览器。然而,正如上面所述,即使服务器清除了某些值的选择,由于浏览器缓存的原因,它们仍然可能被选中!\n我的数据有不可见的复选框(直到选择了父级项目才可见),所以用户可能甚至没有意识到之前的某个值仍然被选中,直到再次点击保存并收到错误消息 - 尽管用户认为它没有被选中。这非常令人烦恼。\n可以通过执行Ctrl + F5来解决这个问题,但这甚至不是一个解决办法。是否有一种自动/程序化的方法告诉浏览器在某些表单/页面上不要缓存表单输入数据?

0
0 Comments

从下面的内容中可以看出,问题的出现原因是浏览器在缓存中保留了输入值,导致在填写表单时出现了问题。为了解决这个问题,可以使用以下两种方法中的任意一种:

方法一:

<form autocomplete="off"></form>

方法二:

$('#Textfiledid').attr('autocomplete', 'off');

这两种方法都是用来告诉浏览器不要缓存或保留输入值的。通过在表单元素中添加autocomplete="off"属性或使用JavaScript代码来设置autocomplete="off"属性,可以确保浏览器不会保存表单的输入值,从而解决该问题。

0
0 Comments

问题的出现原因:浏览器会记住输入框的值,导致在刷新页面时输入框的值会被保留。

解决方法:在输入框的HTML标签中添加autocomplete="off"属性,或者在整个表单的<form>标签中添加autocomplete="off"属性来阻止浏览器记住输入框的值。

以下是参考内容的整理:

根据Stack Overflow的参考链接,如果浏览器已经保存了输入框的值,使用value=""是无效的,所以应该添加autocomplete="off"属性。

对于标签,可以使用autocomplete="off"属性:

<input type="text" autocomplete="off" />

也可以对整个表单使用autocomplete="off"属性。

在Chrome浏览器中,单独在表单元素上使用autocomplete="off"属性没有效果,即使显式将value属性设置为空,并在发送Cache-Control: Must-Revalidate头时也没有效果。必须将autocomplete="off"属性应用于<form>元素本身,才能在Chrome中禁止这种行为。

有用户在表单上使用autocomplete="off"属性,但对他们来说并没有起作用。可能是因为他们的浏览器有一些设置阻止了正确的行为。

据说浏览器的行为已经发生了变化,可以参考developer.mozilla.org/en-US/docs/Web/Security/…

需要注意的是,HTML表单应该是有效的,并且例如不应该在一个表单内包含另一个表单。

0
0 Comments

问题的出现原因是浏览器会自动保存输入值,导致在刷新页面或重新加载时,输入值仍然存在。解决方法是通过设置input标签的value属性为空值或者在form标签中添加autocomplete="off"属性来告诉浏览器不要缓存或保存输入值。对于复选框,可以尝试使用checked="false"来取消选中状态,或者使用JavaScript/jQuery在页面加载时将所有复选框都取消选中。另外,在MVC中可以尝试在控制器操作中使用ModelState.Clear()来清除旧的输入值。对于Chrome浏览器和使用.net的开发者,尝试在input字段中添加autocomplete="off"属性可能是解决方法。

0