Ist es möglich, mithilfe von CSS die automatische Vervollständigung für ein Formularelement (insbesondere ein Textfeld) zu deaktivieren?
Ich verwende eine Tag-Bibliothek, die das Autocomplete-Element nicht zulässt, und möchte die Autocomplete ohne Verwendung von Javascript deaktivieren.
autocomplete="off"
wird in der Browser X-Version (aktuell + 1) ignoriert. (Zum Beispiel ignorieren die neuesten Google Chrome Autocomplete = off.)id
, wird sie dennoch im Cache gespeichert (dh auf der Festplatte eines Benutzers). Dies ist eine schreckliche Sache, wenn Sie die Kreditkartennummer oder andere vertrauliche Informationen einer Person ändern. Darüber hinaus werden die Festplatten Ihres Benutzers unnötig überladen. Jedes Mal, wenn sie Ihre Seite besuchen, wird eine neue (Cookie-ähnliche) Datei auf ihrem Computer gespeichert. Versuchen Sie zum Teufel, Ihren Chrome-Cache zu leeren und zu sehen, wie viel Speicherplatz frei wird (wenn Sie dies eine Weile nicht getan haben). Deshalb nenne ich es eine schreckliche Idee.Derzeit gibt es in CSS kein Attribut "Autocomplete off". HTML hat jedoch einen einfachen Code dafür:
Wenn Sie nach einem Site-weiten Effektor suchen, ist es einfach, einfach eine js-Funktion zu haben, um alle 'Eingaben' zu durchlaufen und dieses Tag hinzuzufügen, oder nach der entsprechenden CSS-Klasse / ID zu suchen.
Das Attribut "Autocomplete" funktioniert in Chrome und Firefox (!) Einwandfrei. Siehe auch " Gibt es eine W3C-gültige Möglichkeit, die Autocomplete in einem HTML-Formular zu deaktivieren?"
quelle
autocomplete="anyrandominvalidvalue"
es funktionieren wird.Sie können einfach mit jQuery implementieren
quelle
form
das EINZIGE, was funktioniert hat. Nichtinput
. Vielen Dank.Wenn Sie ein verwenden
form
, können Sie alle Autovervollständigungen mit deaktivieren.quelle
CSS verfügt nicht über diese Fähigkeit. Sie müssten clientseitiges Scripting verwenden.
quelle
autocomplete="false"
funktioniert in Edge. Technisch gesehen kann hier jeder ungültige Wert anstelle von "false" verwendet werden.Ich habe alle vorgeschlagenen Möglichkeiten aus diesen Fragen, Antworten und anderen Artikeln im Web ausprobiert, aber trotzdem nicht funktioniert. Ich habe versucht, autocomplete = "new-random-value", autocomplete = "off" im Formularelement zu verwenden, wobei ich das clientseitige Skript wie folgt, jedoch außerhalb von $ (document) .ready () als einen der genannten Benutzer verwendet habe:
Ich fand vielleicht eine andere Priorität im Browser, die dieses seltsame Verhalten verursacht! Also habe ich mehr gesucht und schließlich habe ich die folgenden Zeilen dieses guten Artikels noch einmal sorgfältig gelesen :
Es hat einfach funktioniert. Ich habe es speziell in Chrom versucht und hoffe, dass dies weiterhin funktioniert und anderen hilft.
quelle
Ich habe das Problem gelöst, indem ich für alle Eingaben einen falschen Namen für die automatische Vervollständigung hinzugefügt habe.
quelle
Dank der Lösung von @ ahhmarr konnte ich das gleiche Problem in meiner Angular + UI-Router- Umgebung lösen , das ich hier für alle Interessierten freigeben werde.
In meinem
index.html
habe ich folgendes Skript hinzugefügt:Um Statusänderungen abzudecken, habe ich meinem Root-Controller Folgendes hinzugefügt:
Die Zeitüberschreitungen müssen vom HTML-Code gerendert werden, bevor die JQuery angewendet wird.
Wenn Sie eine bessere Lösung finden, lassen Sie es mich bitte wissen.
quelle
Sie können CSS nicht verwenden, um die automatische Vervollständigung zu deaktivieren, aber Sie können HTML verwenden:
Technisch können Sie durch
false
einen ungültigen Wert ersetzen und es wird funktionieren. Dieses iOS ist die einzige Lösung, die ich gefunden habe und die auch in Edge funktioniert.quelle
Es gibt 3 Möglichkeiten, ich erwähne sie, um der bessere Weg zu sein ...
1-HTML-Weg:
2-Javascript Weg:
3-jQuery Weg:
quelle
Ich benutze
'new-password'
stattdessen nur die'off'
automatische Vervollständigung.und ich habe auch versucht, diesen Code zu verwenden und funktioniert (zumindest auf meiner Seite), ich verwende WP und GravityForm zu Ihrer Information
quelle
quelle