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

от автора

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

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

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

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

Ссылки:
Autofill event polyfill
issue #1460

ссылка на оригинал статьи http://habrahabr.ru/post/211863/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *