Как заставить Chrome уважать имена моих полей и не пытаться автозаполнять
У меня есть две разные формы на моей домашней странице: одна для логинов и одна для регистрации. Как видно из кода, формы имеют входы с разными именами:
<h3> Log In </h3>
<form action="/login/" method="POST" class="form-vertical" style="padding-top: 5px">
<input id="id_login_username" type="text" name="login_username" maxlength="25" />
<input type="password" name="login_password" id="id_login_password" /><br>
<button type="submit" class="btn btn-info">Login</button>
</form>
<h3> Sign Up <small>(It free!)</small></h3>
<form action="/register/" method="POST" class="form-vertical" style="padding-top: 5px">
<input id="id_register_username" type="text" name="register_username" maxlength="25" />
<input type="text" name="register_email" id="id_register_email" />
<input type="password" name="register_password" id="id_register_password" />
<input type="password" name="register_password2" id="id_register_password2" /><br>
<button type="submit" class="btn">Submit</button>
</form>
Что относится к этому в Chrome:
![enter image description here]()
Что может быть причиной этого? И как я могу это исправить?
Ответы
Ответ 1
Похоже, аналогичный вопрос задавали раньше:
Каков правильный способ автоматического завершения заполнения форм ввода?
Имеется атрибут autocomplete, который можно использовать в полях формы.
<input id="id_login_username" type="text" name="login_username" maxlength="25" autocomplete="off" />
Ответ 2
Это действительно хороший вопрос, и я сожалею, что понятия не имею. Сделал вы пытаетесь зарегистрироваться один раз, а также войти хотя бы один раз? Если да, то "возможно" - это то, что вызывает его, поскольку браузеры дополняют Функция автозапуска.
Предполагая, что функция автозаполнения включена (по умолчанию), причина, по которой она выполняется, заключается в том, что сервер хромового автозаполнения работает с регулярными выражениями, а не с точными совпадениями.
Все регулярные выражения, используемые для различных полей, можно найти в autofill_regex_constants.cc.utf8
.
Оттуда вы увидите, что выражение для поля электронной почты "e.?mail"
и для имени пользователя "user.?name|user.?id|nickname|maiden name|title|prefix|suffix"