Остановите автозаполнение Google от перезаписи полей существующими значениями в форме реагирования

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

Я проверил это в нереакционных формах, и автозаполнение Google работает нормально, поскольку оно не будет перезаписывать существующие значения в полях. Но в режиме реагирования, допустим, я вставил firstname = john, а затем использовал автозаполнение в электронном письме... оно было бы над 'John' и использовало все, что сохранено в автозаполнении.

Кто-нибудь знает способ обойти это? Я не собираюсь отключать автозаполнение, так как я все еще хочу, чтобы пользователи имели возможность, в любом случае, я пробовал варианты автозаполнения = выключено, как это было предложено в другом месте, но все еще не получилось

1 ответ

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

<input type="text" name="" value="" readOnly={true} style={{display: "none"}}/>
<input
  type="text"
  name={"address " + Math.random()}
/>

Вы можете использовать autocomplete="off" в своем входе, который вы не хотите автозаполнения.

Пожалуйста, также убедитесь, что ваш тип ввода правильный.

пример: <input type="text" name="foo" placeholder="foo" autocomplete="off">

Вы даже можете сделать это с помощью JS:

inputElm.setAttribute ("autocomplete", "off");

В качестве примера.

С уважением

Аарон

Другие вопросы по тегам