Firefox と Chrome がどのフィールドがパスワード用であるかをどのように判断し、他のフォームでどのようにオートコンプリートするかを理解するのに苦労しています。
私のログインフォームには、これがあります:
<p>
<label for="login_email">Email:</label><br />
<input id="login_email" name="login[email]" size="30" type="text">
</p>
<p>
<label for="login_password">Password:</label><br />
<input id="login_password" name="login[password]" size="30" type="password">
<input id="login_password_hash" name="login[password_hash]" type="hidden">
</p>
<p>
<input id="login_submit" value="LOGIN" type="submit">
</p>
このlogin_password_hash
フィールドは、Javascript を使用して送信する前にクライアント側でパスワードをハッシュするためのものです。Javascript を無効にしても結果は変わりません。
そして、新しいユーザーを作成するために、私はこのフォームを持っています:
<p>
<label for="user_email">Email:</label>
<input id="user_email" name="user[email]" size="30" type="text">
</p>
<p>
<label for="user_first_name">First Name:</label>
<input id="user_first_name" name="user[first_name]" size="30" type="text">
</p>
<p>
<label for="user_last_name">Last Name:</label>
<input id="user_last_name" name="user[last_name]" size="30" type="text">
</p>
<p>
<label for="user_password">Password:</label>
<input id="user_password" name="user[password]" size="30" type="password">
<input id="user_password_hash" name="user[password_hash]" type="hidden">
</p>
<p><input id="user_submit" value="Create User" type="submit"></p>
ログインフォームからパスワードを保存し、新しいユーザーフォームにアクセスした後、保存された電子メールがパスワードフィールドの前の最後のフィールドに配置され、パスワードがパスワードフィールドに配置されます。
これは Firefox と Chrome で発生しますが、Internet Explorer では発生しません。Firefox と Chrome がこのように動作する理由について何か考えはありますか? 2 つのフォームに共通点はなく、名前と ID はすべて異なります。