由于webkit自动填充,无法在输入中键入内容

时间:2014-08-05 13:41:16

标签: javascript css input autocomplete webkit

我已经搜索了这个问题的解决方案的高低,我有一个登录表单,允​​许用户输入输入,如果他们是第一次登录但是如果他们之前登录并且自动完成被转换在输入字段中单击并编辑它们是不可能的。我在他们身上看到'不能打字'的光标符号。这只发生在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');
}

我最接近解决的问题是,如果我检查输入并将其位置更改为绝对/固定它会破坏自动完成,然后如果我将定位更改回相对,我可以输入但显然不是真的解决方案它只是表明自动填充/自动完成是一个问题。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

之前我遇到过同样的问题,它肯定是由webkit的自动填充功能引起的。通过删除整个表单解决,现在使用javascript serializator作为表单处理器。这比搞乱浏览器标准更容易。

答案 1 :(得分:0)

最终解决了这个问题,即在表单上设置相对位置并更改它的z-index,