- PVSM.RU - https://www.pvsm.ru -

Polyfill для обхода проблемы с браузерным автозаполнением форм

Год назад в репозитории AngularJS был создан issue #1460 [1] «Form model doesn't update on autocomplete».

Браузер, при автозаполнении формы ранее сохраненными данными (например, вводим email — браузер заполняет пароль автоматически) никак не извещает javascript о новых данных в поле.

За время существование этой проблемы были написаны различные костыли, которые можно оценить в комментариях к issue. Сейчас же появился костыль официальный. И пока разработчики браузеров на проблему внимания не обращают, это оптимальное решение — Autofill event polyfill [2].

Придется подключать еще один скрипт. Принцип работы таков — по «DOMContentLoaded» скрипт пробегает по полям и запоминает их текущее значение value, после таймаута в 200 милисекунд сравнивает сохраненное ранее значение с текущим, если они отличаются — вызывается событие «change» для поля. По событию «blur» для одного из полей, снова запускается проверка.

Ссылки:
Autofill event polyfill [2]
issue #1460 [1]

Автор: snater

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/54548

Ссылки в тексте:

[1] #1460: https://github.com/angular/angular.js/issues/1460

[2] Autofill event polyfill: https://github.com/tbosch/autofill-event

[3] Источник: http://habrahabr.ru/post/211863/