浏览器在清空输入后刷新页面自动填充-这是一个bug吗?

Browser autofill after page refresh on emptied input - is this a bug?

本文关键字:bug 一个 填充 输入 清空 刷新 浏览器      更新时间:2023-09-26

用于搜索的输入字段。然后,清空该字段以清除搜索。但是当用户刷新页面时,该字段的输入字段中又出现了搜索词。这似乎是由于每个浏览器的自动完成设置。通常,自动补全是好的,但清空字段应该覆盖该值,不是吗?

这似乎是一个错误,应该提交给Chrome, IE和Safari (Firefox似乎没有这个问题)。但这是真的吗?

或者是否有一种方法可以在用户清除输入时正确清除该值?我们不想禁用自动填充

我尝试了$('myinput').prop('defaultValue', ")在我的搜索清除功能,没有工作。也就是说,属性被更改了,但是当页面刷新时,之前的值又出现在输入字段中。

有时我在Chrome和Safari上注意到这种奇怪的行为,当相同的表单中有密码字段时。我猜,浏览器寻找一个密码字段来插入您保存的凭据。然后,它自动填充(根据观察只是猜测)最近的类似文本的输入字段,该字段出现在DOM中的密码字段之前。由于浏览器是最后一个实例,您无法控制它,因此有时甚至autocomplete=off也无法阻止填写凭据

 <!-- fix browser password fill in: 
     set readonly and set writeble on focus (click and tab) -->
 <input type="search" readonly  
     onfocus="$(this).removeAttr('readonly');"/>

您可以在页面加载事件中清空文本框,如下所示。

$( document ).ready(function() {
 $('#myinput').prop('value','')
});