すべての標準フィールドを含む登録ページがあります。電話番号、メールなど.
電話とパスワードはタブに隣接しています。つまり、物理的に隣接していませんが、タブで移動する場合は、名->姓->電子メール->電話->パスワードになります。
何らかの理由で、ユーザーが登録するときにユーザー名とパスワードを覚えておくように求めるプロンプトが表示されます(これはいいですね)が、電話番号はユーザー名として保存されています。
電話番号/パスワードの組み合わせがこれまでにないほど便利であることを人々に思い出させるように提案/決定するのを支援するルールはありますか?
前もって感謝します
編集:
フォーム要素の名前は「Phone」と「txtpassword」です。
メールとパスワードを覚えてほしい。これは現在の状況を考慮して達成可能ですか?
残念ながら、フォームフィールドの順序を変更することはできません。順序は上記のタブに記載されています。
Autocomplete = "off"を使用してオートコンプリートを無効にすると、Firefox(およびこの非標準の属性をサポートする他のブラウザー)はこれらの値を保存しません。
<input type=text" name="dontsave" autocomplete="off">
編集:
表示されているのは、使用しているフィールド名が原因である可能性があります。オートコンプリートは、共通のユーザー名/ログインフィールド名を探して機能し、電話番号フィールドがFirefoxにそれがプライマリログインIDフィールドであると信じさせる可能性があります。
編集2:
電子メールフィールドは電話フィールドの前または後ですか?後であれば、電話フィールドの前に置くことはできますか?もしそうなら、それは違いを生みますか?
通常、フィールドを並べ替えることなく、またはハックなしでは不可能です。 Firefoxのusername
フィールドは、password
フィールドの直前になければなりません。
私は同じ問題を抱えていましたが、telephoneの代わりに姓。何時間も試してみた後、 この答え で明らかになりました。 Firefox(少なくとも現在のバージョンでは)はパスワードフィールドを探します。次に、ユーザー名フィールドとしてその前のフィールドを取得し、これらの資格情報を保存するかどうかをユーザーに尋ねます。
オートコンプリートはここでは(主要な)問題ではありません。フォーム全体でオートコンプリートをオフにしても、Firefoxは資格情報を保存するかどうかを尋ねます。
次のようなことができます:
<input type="text" name="username" autocomplete="username">
<input type="default" name="email" autocomplete="email">
<input type="password" name="password" autocomplete="new-password">
現在のバージョンのFirefoxは、最初のパスワードフィールドを探します。そこから、text
またはemail
タイプの最初の先行フィールドを探して、ユーザー名フィールドを見つけます。
そのため、無効なフィールドタイプを使用して、それをだますことができます(default
は有効なフィールドタイプではありません)。これで、Firefoxを満たすためにフィールドを並べ替える必要がなくなりました。ブラウザがフィールドタイプを知らない場合、通常のテキストフィールドが表示されるだけです。
Safariは別のメカニズムを使用しており、問題はありません。フィールドの名前を見ていると思います。
オートコンプリート属性 は、各フィールドが何のために使用されているかをブラウザにさらに示します。
以前、Google Chromeで同様の動作に気づきました。入力フィールドに付けられた名前は何ですか?ブラウザがname="signup[email]"
のようなコードを使用して1つの変数のすべてをサーバー側に渡すと、フィールドに問題があることがよくあります(PHPで非常に便利です)。
この2つのフィールドの名前としてemail
およびpassword
を使用した、次の単純な形式の<input name="username" type="text">
を使用してみてください。 (注:フィールド名を変更できなくなる前にこの状況に遭遇したとき、私は実際にこれをテストしていません。)