Jquery deaktiviert die automatische Vervollständigung in der Eingabe

Lesezeit: 5 Minuten

Benutzer-Avatar
Max Schmerz

Ich habe diesen Code:

Das HTML:

<input id="register_username" type="text">
<input id="register_password" type="text">
<input id="register_repeatpassword" type="text">
<input id="register_email" type="text">

Die JQuery:

$(document).ready(function(){
    $('#register_username').attr('autocomplete','off');
    $('#register_password').attr('autocomplete','off');
    $('#register_repeatpassword').attr('autocomplete','off');
    $('#register_email').attr('autocomplete','off');
    });

Ich möchte die von einigen Browsern angebotene Autovervollständigungsfunktion deaktivieren und den Benutzer dazu bringen, das gesamte Feld einzugeben, aber der Code funktioniert nicht. Das Dropdown-Menü wird immer noch angezeigt und der Benutzer kann immer noch die zuvor eingegebenen Dinge auswählen. Ich habe auch versucht, Benutzer autocomplete="off" aber nichts ist passiert. Was mache ich hier falsch?

  • funktioniert auf meiner Maschine(tm)

    – Brad Christie

    29. Dezember 2012 um 2:28 Uhr

  • Für mich wird das autocomplete=”off” auf Chrome (v 41.0.2272.89) ignoriert, zuerst dachte ich, es läge daran, dass ich das Attribut per jquery geändert habe, nachdem die Seite geladen wurde, aber sogar eingefügt autocomplete="off" direkt an der input hat das Problem nicht gelöst. Dieser andere Beitrag könnte mit dem Problem zusammenhängen.

    – Murilo García

    19. März 2015 um 14:39 Uhr


Einfach hinzufügen:

autocomplete="off"

als Attribute zu den INPUT Elemente, z. B.:

<input autocomplete="off" id="register_username" type="text" name="username">

  • oder der <form> Knoten auch. (Übrigens glaube ich, dass das Hauptproblem darin besteht, dass es nicht zu funktionieren scheint, wenn es nach dem Laden von jQuery angewendet wird, da OP genau dieses Attribut hinzufügt).

    – Brad Christie

    29. Dezember 2012 um 2:03 Uhr


  • @MaxPain welcher Browser? Kannst du eine Geige posten?

    – David Hellsing

    29. Dezember 2012 um 2:05 Uhr

Benutzer-Avatar
Carl Smith

Das jQuery Ausführung:

$("#register_username").attr("autocomplete", "off");

  • Damit ist die Frage nicht beantwortet. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag.

    – Tenfour04

    7. März 2014 um 18:09 Uhr

  • Es ist dasselbe wie alle anderen Antworten, außer dass es jQuery verwendet, was alles ist, was es zu tun behauptet.

    – Carl Smith

    27. August 2017 um 21:33 Uhr


  • Das OP fragte, was mit seinem eigenen Code falsch sei, nicht nach alternativen Methoden, dies zu tun. Einige der anderen Antworten beantworten auch nicht die Frage des OP, aber die Prüferwarteschlange zeigt nicht alle Antworten an, die gleichzeitig überprüft werden können.

    – Tenfour04

    27. August 2017 um 21:50 Uhr

  • Wie auch immer, das war vor drei Jahren … Heute würde ich mir nicht die Mühe machen, so etwas zu kommentieren, da es für die Leute immer noch hilfreich ist. 🙂

    – Tenfour04

    27. August 2017 um 21:56 Uhr

Überprüfen Sie dies Geige aus

 document.getElementById("register_username").autocomplete="off"

Falls jemand hierher kommt und nach einer Möglichkeit sucht, die automatische Vervollständigung von jquery auszuschalten:

$("#elementId").autocomplete({
  disabled: true
  });

Obwohl ich zustimme, autocomplete="off" sollte weitgehend unterstützt werden und ist die Endlösung, es kann eine Folge des nicht Funktionierens sein HTML5-Spezifikation für das Autocomplete-Attribut:

Der Autovervollständigungsmechanismus muss vom Benutzeragenten implementiert werden, der so handelt, als ob der Benutzer den Wert des Elements geändert hätte, und muss zu einem Zeitpunkt erfolgen, an dem das Element veränderlich ist (z. B. unmittelbar nachdem das Element in das Dokument eingefügt wurde oder wenn der Benutzeragent mit dem Parsen aufhört).

Das impliziert für mich, dass es ein „ursprüngliches“ Attribut des Elements sein sollte und nicht nach dem Rendern hinzugefügt werden kann. Und da die meisten Browser die neue Spezifikation implementieren1die Chancen stehen gut, wenn sie es mit Javascript erlaubt haben, bevor sie wahrscheinlich die Implementierung basierend auf der obigen Spezifikation korrigiert haben.

Wenn Sie dies noch nicht getan haben, versuchen Sie, das Attribut direkt zu den Steuerelementen hinzuzufügen, anstatt sich darauf zu verlassen, dass jQuery dies tut [presumably] Dokument bereit.

1 Ich verwende Spezifikation hier locker, da HTML5 kein Standard ist, aber viele Browser implementieren einige der konkreteren Funktionen. Seit autocomplete gibt es seit IE5, es ist wahrscheinlich eine von denen, die Sie als sichere Implementierung betrachten können.

  • Ich habe versucht, dies zu tun:<input id="register_username" type="text" name="username" autocomplete="off"> und habe immer noch das gleiche Problem.

    – Max Schmerz

    29. Dezember 2012 um 2:16 Uhr

  • @MaxPain: Durch irgendwelche Änderungen, wenn Sie gehen about:config ist Wallet.crypto.autocompleteoverride einstellen?

    – Brad Christie

    29. Dezember 2012 um 2:20 Uhr

  • Ich bin mir nicht sicher, was das ist. Ich denke nein.

    – Max Schmerz

    29. Dezember 2012 um 2:24 Uhr

  • @MaxPain: Einfach ausgedrückt, es gibt Add-Ins für FF, die es dazu zwingen können, sich Passwörter zu merken, trotz der vom Webmaster festgelegten Einstellungen (z autocomplete="off"). Ich wollte nur prüfen, ob das nicht der Fall ist.

    – Brad Christie

    29. Dezember 2012 um 2:26 Uhr

Benutzer-Avatar
Cava

Heutzutage müssen Sie “off” in eine andere zufällige Zeichenfolge wie “nein” ändern:

Jquery:

$("#register_username").attr("autocomplete", "nope");

HTML:

<input id="register_username" type="text" autocomplete="nope">

  • Ich habe versucht, dies zu tun:<input id="register_username" type="text" name="username" autocomplete="off"> und habe immer noch das gleiche Problem.

    – Max Schmerz

    29. Dezember 2012 um 2:16 Uhr

  • @MaxPain: Durch irgendwelche Änderungen, wenn Sie gehen about:config ist Wallet.crypto.autocompleteoverride einstellen?

    – Brad Christie

    29. Dezember 2012 um 2:20 Uhr

  • Ich bin mir nicht sicher, was das ist. Ich denke nein.

    – Max Schmerz

    29. Dezember 2012 um 2:24 Uhr

  • @MaxPain: Einfach ausgedrückt, es gibt Add-Ins für FF, die es dazu zwingen können, sich Passwörter zu merken, trotz der vom Webmaster festgelegten Einstellungen (z autocomplete="off"). Ich wollte nur prüfen, ob das nicht der Fall ist.

    – Brad Christie

    29. Dezember 2012 um 2:26 Uhr

Benutzer-Avatar
Prakasch

<form id='myForm'>
    <input id="register_username" type="text">
    <input id="register_password" type="text">
    <input id="register_repeatpassword" type="text">
    <input id="register_email" type="text">
</form>
$(document).ready(function(){
    $('#myForm').on( 'focus', ':input', function(){
        $(this).attr( 'autocomplete', 'off' );
    });
});

1143920cookie-checkJquery deaktiviert die automatische Vervollständigung in der Eingabe

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy