ユーザIDが変な所に入力されていて驚いている顔
autofill
【9/8追記しました】
【9/29追記しました】
ブラウザで、ユーザIDとパスワードをセットで記憶してくれる便利なやつ。
オートコンプリートって、自動補完って意味だから、自動入力とは違うと思っている今日この頃、如何お過ごしでしょうか。
ユーザー側としては便利な機能なんですけど、開発側は、困ってます。
以前、ダミーのテキストとパスワード欄を見えないように実装していたやつが、無視されるようになってますよ。
突然仕様変えるの勘弁して。
パスワード欄がdisableの場合はautofillされない模様。
そこで、
1.ダミーのテキスト欄とパスワード欄は意味が無くなったため削除。
2.パスワード欄はリードオンリーにする。
3.フォーカス時だけ入力可にする。
これで解決。
<input type="password" readonly onfocus="this.removeAttribute('readonly');">
前のは1年持ったけど、今回はどうでしょう。。
わたしはすぐ顔に出るので、机に鏡を置いています。
いつになく、しょっぱい顔w
【9/8追記】
しかし、本質はパスワード欄では無かった。。。
確かに、初動は自動入力されなくなった。
が、
パスワード欄をクリックすると、
「次のパスワードを使用する」というtipが出てパスワードが自動入力されるのと同時に、直前のテキストボックス(未入力の場合)にIDが自動入力されてしまう。
このテキストボックスにも、
パスワード欄と同様にリードオンリーと、属性変更を入れる。
すると、その前のテキストボックスにユーザIDが自動入力されてしまう。。。
つまり、パスワード属性の前にあるテキストボックスには、全てリードオンリーと属性変更を書いておく必要が出てきてしまった。
パスワード入力は、入力画面に作るのではなく、確認画面に入れておけば良かった。
【9/29追記】
<input type="password" autocomplete="new-password" ・・
とすると、(今日時点で)オートフィルされない事を確認(ie11、FF、chrome)。
昨年時点で、「対応ブラウザはない」とかと書かれているサイトがあるので、これを鵜呑みにするか、今、目で見えている現実を信じるか、、、
初期値text、setTimeoutを使って、setAttribute("type", "password");とか、こね回してみましたが
new-passwordにしたいなあ・・