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

В стандартной структуре управления профилями пользователей laravel jetstream есть страница http://127.0.0.1:8000/user/profile, где поля ввода с type=password можно найти без поля электронной почты. Это сделано для того, чтобы пользователь мог изменить пароль.

Если есть какое-либо другое поле с типом = текст или тип = поиск, оно будет автоматически заполнено электронной почтой следующим образом:

Неверное поле поиска

Но когда я добавляю дополнительное поле ввода type=email (конечно, это поле можно скрыть), оно обычно выглядит так, как должно выглядеть:

Нормально выглядящее поле поиска

Эта проблема возникает только тогда, когда браузер помнит пароль.

Итак, вопрос: можно ли добавить дополнительное поле электронной почты, чтобы обмануть браузер?

Есть ли другой лучший способ сделать это?

Update1: Скрытое поле не работает. Только когда видно...

Обновление 2: вместо скрытого поле может иметь нулевую ширину.

Update3: Еще одна вещь, которая работает - оберните поле поиска в теги формы.


person IVN    schedule 09.12.2020    source источник


Ответы (1)


Обертывание поля поиска в его собственный тег формы поможет.

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

Лучше всего обернуть каждую форму в собственный тег формы с разными идентификаторами/именами, чтобы помочь браузеру понять, что каждая из них отличается и не связана.

person Justice Erolin    schedule 09.12.2020
comment
Да, поскольку я был на стадии разработки, я не оборачивал его, пока он не выглядел достаточно хорошо, но оборачивать поле поиска в тег формы — это стандартная практика, о которой я забыл. Так что привет и спасибо. - person IVN; 10.12.2020