禁用与输入掩码结合的自动完成功能

时间:2011-12-22 15:51:24

标签: jquery jquery-plugins browser

我正在使用输入掩码jQuery插件为某些字段提供输入规则,例如

$(".year").mask("9999",{placeholder:"Y"});

但是该字段没有在焦点上选择其内容,这与插件文档所暗示的相反。所以我在我的脚本中添加了另一行:

$("input[type=text]").focus(function(){
    this.select();
});

然而,这似乎也没有用。我玩了一些,并注意到这些字段[有时]预先填充了浏览器的值。但是,我无法关闭自动完成功能,但我怀疑这就是内容未被选中的原因 - 浏览器正在将内容添加到焦点字段中,这是在jQuery之后触发的。

如何从这些字段关闭自动完成功能?我尝试添加:

autocomplete="off"

到单个文本字段,但它似乎不起作用(在Firefox和Chrome中测试)。在IE中,将其添加到各个字段似乎都有效,但输入掩码验证没有。

2 个答案:

答案 0 :(得分:0)

解决方案很简单,在所有浏览器中都能完美运行,至少对我来说:)

  1. 将禁用的属性添加到表单字段(电子邮件,密码等)

    syntax: <input type="text" class="year" disabled />
    
  2. On Page Load在几毫秒后启用字段。

    使用以下JS CODE。

    function getRidOffAutocomplete(){
    
        var timer = window.setTimeout( function(){
            $('.year').prop('disabled',false).mask("9999",{placeholder:"Y"});
            clearTimeout(timer);
           },
           800);
    }
    
    // Invoke the function
    getRidOffAutocomplete();
    

答案 1 :(得分:0)

如果您使用的是jQuery,请尝试关闭自动填充功能,如下所示:

$("input[type=text]").autocomplete("option", "disabled", true);