У меня есть следующая проблема:
У меня есть форма, в которой я редактирую некоторые детали публикации вакансии.
Я добавил <input type="password" />
в форму, которая должна принимать одноразовый пароль, который пользователь получает по электронной почте, чтобы изменения могли выполняться на стороне сервера.
Проблема заключается в следующем:
- Я делаю правки к посту
- Я иду в поле пароля и фокусирую его
- Когда я начинаю печатать, фокус смещается на другое поле, и все, что я печатаю, добавляется к значению этого поля.
Если я изменю поле пароля на type="text"
, все будет нормально.
Такое поведение присутствует только в Safari и Safari Technical Preview, как в обычном режиме, так и в режиме приватного просмотра.
Chrome и Firefox работают нормально.
Сайт построен с использованием Gatsby.js - генератора статических сайтов, созданного поверх React.js. Я подозревал, что, поскольку React повторно отображает всю форму при обновлении состояния формы (изменение входных значений), Safari повторно инициализирует свою функцию autocomplete и захватывает фокус с поля. Но это всего лишь предположение. И это не действует в Chrome и Firefox.
Ниже приведена видеозапись для лучшего визуального представления того, что я говорю.
https://d2aztkdj0ezvrk.cloudfront.net/items/1D0X3c1f0145291X0J2L/Screen%20Recording%202019-07-03%20at%2008.36%20PM.mov
Спасибо!