Отключение автозаполнения в сочетании с маской ввода - PullRequest
1 голос
/ 22 декабря 2011

Я использую плагин jQuery маски ввода для предоставления определенных полей с правилами ввода, например,

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

, но его поле не выделено в фокусе, в отличие от документации плагинавлечет за собой.Поэтому я добавил еще одну строку в свой скрипт:

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

Однако, похоже, это тоже не сработало.Я немного поигрался и заметил, что поля [иногда] предварительно заполняются значениями в браузере.Однако я не смог отключить автозаполнение, но подозреваю, что именно поэтому содержимое не выбирается - браузер добавляет содержимое в поле фокуса, и это запускается после jQuery.

Как отключить автозаполнение в этих полях?Я попытался добавить:

autocomplete="off"

к отдельным текстовым полям, но, похоже, это не сработало (тестирование в Firefox и Chrome).В IE добавление этого к различным полям, казалось, работало, но проверка маски ввода не выполнялась.

1 Ответ

0 голосов
/ 29 мая 2014

Решение простое и отлично работает во всех браузерах, по крайней мере для меня:)

  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();
    
...