Firefox автозаполнение формы не работает, когда при загрузке страницы отображается только поле ввода электронной почты - PullRequest
0 голосов
/ 14 февраля 2020

В настоящее время я работаю над большим проектом React и пытаюсь заставить автозаполнение работать в Firefox в форме входа, в которую недавно были внесены некоторые изменения. Пользователи вводят свой адрес электронной почты и, исходя из того, существует ли учетная запись или нет, им либо будет предоставлено поле пароля или регистрационная форма. Единственное поле ввода, доступное при загрузке страницы, - это поле ввода электронной почты.

Мы получаем сообщение о том, что автозаполнение в Firefox не работает, так как мы внесли это изменение. Похоже, что даже если учетные данные пользователя (электронная почта и пароль) хранятся в Firefox, браузер не будет автоматически заполнять поле ввода электронной почты, когда оно отображается изолированно. Я добавил скрытое поле ввода с типом «пароль» ниже поля ввода электронной почты, и это, кажется, решает проблему, с автозаполнением теперь снова работает.

<!-- Autocomplete does not work in Firefox with the below snippet -->
<form id="loginRegisterForm_form" autocomplete="on" novalidate="" method="POST">
  <label for="loginRegisterForm_email">Your Email</label>
  <input id="loginRegisterForm_email" type="email" name="email" placeholder="e.g. hello@email.com" autocomplete="on" value="">
</form>

<!-- Autocomplete DOES work in Firefox with the below snippet -->
<form id="loginRegisterForm_form" autocomplete="on" novalidate="" method="POST">
  <label for="loginRegisterForm_email">Your Email</label>
  <input id="loginRegisterForm_email" type="email" name="email" placeholder="e.g. hello@email.com" autocomplete="on" value="">
  <input id="LoginRegister_Login_password" type="password" name="password" placeholder="" autocomplete="on" style="display: none;">
</form>

Кажется, что когда Firefox представлен с формой, требующей только частичный объем хранимых данных (только адрес электронной почты), он не может согласовать, что сохраненные учетные данные (адрес электронной почты и пароль) должны использоваться для этой формы. Это поведение отличается от других браузеров, которые я тестировал.

Я посмотрел, и кажется, что другие сайты, которые используют подобный поток, имеют скрытое поле пароля ниже ввода электронной почты. Мне интересно, если это потенциально способ смягчить проблемы с автозаполнением не работает с частичными формами, но я не могу найти много документации по этой проблеме с Firefox.

Я бы хотел знать, есть ли у кого-нибудь опыт с этой проблемой в Firefox, или он может указать мне на конкретную c документацию относительно этого поведения. Спасибо!

...