由于webkit自动填充,无法在输入框内输入

Can't type within input because of webkit autofill

本文关键字:输入 webkit 填充 由于      更新时间:2023-09-26

我已经搜索了这个问题的解决方案,我有一个登录表单,允许用户在输入中输入,如果他们第一次登录,但如果他们之前登录过,自动完成是打开的,这是不可能的点击输入字段和编辑它们。我在上面看到了"不能输入"的光标符号。这只发生在Chrome。

这不是发生在本地,只在我的暂存站点,这也令人担忧,因为它们之间没有区别(在html,css和js文件方面)。

我已经尝试了各种各样的修复,我在这里发现,如添加autocomplete="off"到我的输入标签。我还尝试了这一点js,这是XHTML doctypes的一个解决方案:

if (document.getElementsByTagName) 
{
    var inputElements = document.getElementsByTagName('input');
    for (i=0; inputElements[i]; i++) 
    {
        if (inputElements[i].className && (inputElements[i].className.indexOf('disableAutoComplete') != -1)) 
        {
            inputElements[i].setAttribute('autocomplete','off');
        }
    }
}

和这个

if ($.browser.webkit) 
{
    $('input[name="password"]').attr('autocomplete', 'off');
}

最接近我已经来修复这是如果我检查输入和改变它的位置为绝对/固定它打破了自动完成,然后如果我改变定位回相对我可以然后键入,但显然这不是一个真正的解决方案,它只是表明,不知怎么的自动填充/自动完成是问题。

我以前也有过同样的问题,这肯定是由webkit的自动填充功能引起的。通过删除整个表单,现在使用javascript序列化器作为表单处理器来解决。

最后解决这个问题的是在窗体上设置相对位置并改变它的z-index,