Mozilla和Chrome会在错误的字段

时间:2017-06-19 08:00:14

标签: forms cross-browser autofill

我正在与React合作(但我觉得没关系)。无论如何,我有2个简单的表格(登录/注册),在登录表格上我有2个字段: 电子邮件和密码。

注册表格上的

我有3个字段: 电子邮件,推荐代码和密码

当我保存我输入登录表单的密码后,这些数据将被正确放置在同一(LOGIN)表单上。

但是当我转到注册表单自动填充数据(电子邮件)被放置在错误的字段(在推荐代码中)。密码自动填充数据放在正确的密码字段中。

所以我尝试添加不同的ID,名称等。它不起作用。 如果有人有任何信息如何解决这个问题,请告诉我,我将非常适合它。

代码示例: 登录表单

<form id="signIn" class="auth-form st-form">

   <label class="st-form-label-text valid">

      <input class="st-form-field" placeholder="Email" name="email" value="velidan@rambler.ru" type="text">

   </label>

   <label class="st-form-label-text valid">
      <input class="st-form-field" placeholder="Password" name="password" value="12345678" type="password">
   </label>

  <input class="st-form-submit-btn btn" value="Log in" type="submit">
</form>

注册表单

<form id="stepOneSignUp" class="auth-form st-form">

   <label for="email" class="st-form-label-text pristine">
      <input id="email" class="st-form-field" placeholder="Email" name="email" value="" type="email">

   </label>

   <label for="referral" class="st-form-label-text referral-code">
      <input id="referral" class="st-form-field" placeholder="Referral Code Placeholder" name="referralCode" value="velidan@rambler.ru" type="text">
   </label>

   <label for="password" class="st-form-label-text pass valid">
      <input id="password" class="st-form-field" placeholder="Password" name="Password" type="password">
   </label>

   <input class="st-form-submit-btn" value="Create new account" type="submit">
</form>

1 个答案:

答案 0 :(得分:2)

需要采取的步骤以确保注册表单上的 email/username 字段正确保存以供自动填充:

  • 确保您的 email/username 字段紧跟在 password 字段之后,因为输入字段的顺序似乎很重要。

  • 避免名称结尾name结尾的字段(例如first_namelast_name - 使用first、{{1} } 而不是),因为 Chrome 可能会错误地假设并使用此字段(而不是 last)作为用户名自动填充。

  • 如果您仅使用 email(没有 email),则将 username 用于 id="username" 字段(是的,您没看错)。