使用搜索的输入字段。然后,清空该字段以清除搜索。但是当用户刷新页面时,该字段在输入字段中再次具有搜索项。这似乎是由于基于每个浏览器的自动完成设置。通常情况下,自动完成功能很好,但是清空字段应该覆盖该值,不应该吗?
这似乎是一个应该提交给Chrome和IE以及Safari的错误(Firefox似乎没有这个问题)。但是吗?
或者有没有办法在用户清除输入时正确清除该值?我们不想禁用自动填充。
我在我的搜索清除功能中尝试了$('myinput')。prop('defaultValue','')并且没有用。也就是说,属性已更改,但刷新页面时,之前的值再次出现在输入字段中。
答案 0 :(得分:1)
有时候我会在Chrome和Safari上发现这种奇怪的行为,当中有相同格式的密码字段时。我想,浏览器会查找密码字段以插入保存的凭据。然后它自动填充(只是猜测由于观察)最近的textlike-input字段,它出现在DOM中的密码字段之前。由于浏览器是最后一个实例而您无法控制它,有时甚至autocomplete = off也不会阻止填写凭据。这个readonly-fix对我有用。
<!-- fix browser password fill in:
set readonly and set writeble on focus (click and tab) -->
<input type="search" readonly
onfocus="$(this).removeAttr('readonly');"/>
答案 1 :(得分:0)
您可以在页面加载事件中清空文本框,如下所示。
$( document ).ready(function() {
$('#myinput').prop('value','')
});