2017-02-11 1 views
0

Wenn Google Chrome das Kennwortfeld mit den gespeicherten Anmeldeinformationen automatisch ausfüllt und das Formular absendet, sind die Daten für das Kennwort eine leere Zeichenfolge.Formularpasswortfeld in iframe verhält sich wie leer, wenn es automatisch von Chrome ausgefüllt wird

Aus diesem Grund bekomme ich ein "Feld ist erforderlich" Art von Fehler, auch wenn es etwas im Feld ist.

enter image description here

Ich bin mit django-allauth aber ich habe einige Tests und das Problem scheint auch passieren, wenn ich grundlegenden django Forms verwenden.

Irgendeine Idee, was könnte das Problem verursachen? Letztendlich könnte ich einfach versuchen, das Auto-Populate für dieses Feld zu deaktivieren, aber das möchte ich lieber nicht.

Beachten Sie, dass es sich bei Firefox, das das Feld beim Laden der Seite nicht füllt, aber nur dann, wenn der Benutzer seinen Benutzernamen in einem Dropdown-Menü für die automatische Vervollständigung auswählt, ordnungsgemäß verhält.

EDIT - Weitere Informationen: Ich habe festgestellt, dass dies mit meiner Form in einem Iframe verknüpft ist. Wenn ich es direkt auf der Hauptseite anzeige, tritt dieses Problem nicht auf. Ich muss noch es aber in einem Iframe funktioniert ...

EDIT2: Nach einigen Recherchen, so scheint es ein Problem zu sein, mit Chrom die richtigen Ereignisse auf einem Iframe nicht senden, die dynamisch hinzugefügt wird:

https://bugs.chromium.org/p/chromium/issues/detail?id=669045

https://codereview.chromium.org/2603623002

ich versuche, eine Work-around ....

Antwort

0

Verwendung finden Javascript Last Seite Wert von input = innerHTML- einzustellen.

zum Beispiel goto facebook.com und offene Konsole und schreiben:

document.getElementsByTagName('input')[1].value 


Sie benötigen E-Mail-Eingangswert

document.getElementsByTagName('input')[1].value 
+0

Könnten Sie etwas genauer festgelegt werden? was von was? –

+0

zum Beispiel gehen Sie zu facebook.com und öffnen Sie die Konsole und schreiben: document.getElementsByTagName ('input') [1] .value –

+0

Sie müssen Wert der E-Mail-Eingabe machen = document.getElementsByTagName ('input') [1]. Wert –

Verwandte Themen