1

我的主页上有两种不同的表单:一种用于登录,一种用于注册。从代码中可以看出,表单具有不同名称的输入:

<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's 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 中呈现:

在此处输入图像描述

这可能是什么原因造成的?我该如何解决?

4

2 回答 2

7

这是一个非常好的问题,我很抱歉说我不知道​​。您是否尝试注册一次并至少登录一次?如果是这样,那“可能”就是导致它的原因,因为浏览器配备了“自动记忆”功能。

假设启用了自动填充(默认情况下),它自动填充其余部分的原因是因为 chrome 的自动填充服务器适用于正则表达式,而不是完全匹配。

用于各种字段的所有正则表达式都可以在autofill_regex_constants.cc.utf8.

从那里您可以看到电子邮件字段的表达式是"e.?mail",用户名的表达式是"user.?name|user.?id|nickname|maiden name|title|prefix|suffix"

于 2012-04-28T07:37:56.483 回答
3

之前似乎有人问过类似的问题:

停止表单输入框自动完成的正确方法是什么?

您可以在表单字段中使用自动完成属性。

<input id="id_login_username" type="text" name="login_username" maxlength="25" autocomplete="off" />
于 2012-04-28T02:18:14.827 回答