如何为所有主流浏览器禁用自动完成功能

如何在主要浏览器中为特定输入和/或完整表单禁用自动完成功能。

我发现这个解决方案:

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

但是,这似乎并不适用于所有浏览器。 例如,我在Firefox中遇到了问题。

编辑:

我的Firefox问题已解决。 这留下了以下内容:我可以禁用窗体上的自动完成,还是必须给每个输入autocomplete =“off”


Autocomplete应与以下<input>类型配合使用:文本,搜索,网址,电话,电子邮件,密码,日期选择器,范围和颜色。

但是,可以尝试将autocomplete='off'添加到<form>标记而不是<input>标记中,除非有什么阻止您这样做。

如果这不起作用,您也可以使用JavaScript:

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”);
        }
    }
}

或者在jQuery中:

$(document).ready(function(){
    $(':input').live('focus',function(){
        $(this).attr('autocomplete', 'off');
    });
});

例如,您可以尝试使用javascript手动清除页面加载时的文本字段:

window.onload = function() {
    elements = document.getElementsByTagName("input");
    for (var i=0; i<elements.length; ++i) {
        elements[i].value = "";
    }
};

如果它在自动填充之前执行,则这可能不起作用。 另一种选择是每次页面呈现时随机生成部分name属性(并在服务器处理提交时将其除去),然后浏览器不会尝试自动完成。

另请参阅自动完成=“关闭”是否与所有现代浏览器兼容?


IE:自动完成

Firefox,Chrome,Opera:disableautocomplete

<input type="text" autocomplete="off" disableautocomplete id="number"/>
链接地址: http://www.djcxy.com/p/4501.html

上一篇: How to disable autocomplete for all major browsers

下一篇: How do you disable input value on web form field / input tag?