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

问题描述 投票:1回答:2

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

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

但是与插件文档所暗示的相反,该字段的内容没有被选中。因此,我在脚本中添加了另一行:

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

但是,这似乎也不起作用。我玩了一些之后,发现浏览器有时会在字段中预先填充值。但是,我无法关闭自动完成功能,但是我怀疑这就是为什么未选择内容的原因-浏览器正在将内容添加到焦点所在的字段,并且在jQuery之后触发。

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

autocomplete="off"

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

jquery jquery-plugins browser
2个回答
0
投票

该解决方案很简单,并且在所有浏览器中都可以正常使用,对我来说至少是这样:)

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

    syntax: <input type="text" class="year" disabled />
    
  2. 页面加载后几毫秒内启用字段。

    使用下面的JS代码。

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

0
投票

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

$("input[type=text]").autocomplete("option", "disabled", true);
© www.soinside.com 2019 - 2024. All rights reserved.