症状
formに入力した内容が、リロードしても残る。
解決策
フォームにおけるオートコンプリートを無効にするには、autocomplete 属性に “off” を指定することで実現できます。
<form method="post" action="/form" autocomplete="off"> […] </form>
特定の input 要素に指定することも可能です。
<form method="post" action="/form"> […] <div> <label for="cc">クレジットカード番号:</label> <input type="text" id="cc" name="cc" autocomplete="off"> </div> </form>
autocomplete=”off” を指定すると、以下の 2 つの効果が生じます。
◆同じようなフォームにおいて、今後ブラウザがオートコンプリートを行うためにデータを保存しないようにします。しかし、実際の動作はブラウザによって異なります。
◆ブラウザがフォームデータをセッション履歴にキャッシュしないようにします。フォームデータがセッション履歴にキャッシュされた場合、フォームの送信後に「戻る」ボタンで元のページに戻った際にユーザの入力データが表示されます。
autocomplete 属性に off が設定されている場合でも、ブラウザはオートコンプリートを行うことがあります。
オートコンプリートを完全に無効にするには、その属性値に 任意の文字列を代入 するというトリックを用います。
autocomplete="nope"