25

HTML または JavaScript を使用してフォーム フィールドの Chrome やその他のブラウザで自動入力を無効にする方法はありますか? ブラウザの以前のユーザーからのフォームにブラウザが自動的に回答を入力することは望ましくありません。

キャッシュをクリアできることはわかっていますが、キャッシュを繰り返しクリアすることに頼ることはできません。

4

6 に答える 6

31

入力に追加することで、HTML の入力レベルで実行できautocomplete="off"ます。

http://css-tricks.com/snippets/html/autocomplete-off/

次のようなJSを介して行うこともできます。

someForm.setAttribute( "autocomplete", "off" ); 
someFormElm.setAttribute( "autocomplete", "off" );
于 2013-02-25T19:47:56.543 に答える
9

実際、オートコンプリート オフは、新しいブラウザーでは常に機能するとは限りません。たとえば Chrome では、autofill プロパティが設定されている場合は無視されます。リンクを参照してください: http://caniuse.com/#feat=input-autocomplete-onoff

于 2016-12-06T08:02:26.170 に答える
2

同じ問題がありました。HTML ソリューションに固執したかった (汚い JS 回避策は好きではない)。私にとって唯一うまくいったのは、入力のIDや名前を通常のキーワードではないものに変更したときだけです。

この Laracast スレッドから Talinon の回答を読んでください。

私はかつてテキストフィールドでこの問題を抱えていました。私が何をしても、Chromeは自動入力/補完を主張しました。最終的に、要素のID/名前を変更すると問題が解決することがわかりました。Chrome にはハードコードされたキーワードがいくつかあり、それらを自動入力しようとしているようです。提案されたハッキン​​グで問題が解決しない場合は、ID/名前を「タイトル」や「アドレス」などを含まないものに変更してみてください。

簡単に言えば:

<form>
    <input type="email" name="fem" />
    <input type="password" name="fpass" autocomplete="new-password" />
</form>

長い話 (これが機能する理由の説明): HTML を使用したフォーム入力でオートコンプリートを無効にする

于 2021-03-20T07:55:04.387 に答える
-1

次のコードを使用できます。

$(".TextID").attr("autocomplete", "off"); //disable input level 
于 2015-07-26T11:16:29.253 に答える