Magento Checkout Street Line Fehler beim automatischen Ausfüllen


12

Ich habe kürzlich bemerkt, dass bei einer Reihe von Bestellungen in unserem Magento-Geschäft die Straßenzeile 1 in die Straßenzeile 2 kopiert wurde.

Ich habe ein bisschen gegraben und es scheint, dass es mit dem automatischen Ausfüllen von Chrome zusammenhängt. Wenn Sie sich die Formularfelder ansehen, verwendet Magento die Feldnamen Rechnung [Straße] [] und Versand [Straße] [] für beide Straßenzeilen. Chrome kann also nicht herausfinden, welches ist und füllt die Adresszeile 1 automatisch in beide Felder aus.

Es gibt einige Informationen , die besagen, dass Sie das Autocomplete- Attribut im Formulareingabefeld verwenden können, um anzugeben, mit welchem ​​Feld eine Verknüpfung hergestellt werden soll. Dies wird jedoch nicht unterstützt und funktioniert nicht. Wenn Sie dies versuchen, wird die automatische Vervollständigung für das gesamte Formular deaktiviert. Ich habe auch versucht, den Feldnamen zu ändern, aber das bricht die Kasse ab. Es sieht so aus, als müsste ich mich eingehend mit dem Code befassen und den Feldnamen auf dem Formular ändern, wo immer darauf verwiesen, bei PayPal eingereicht, in der Datenbank gespeichert usw. Dies scheint ein Albtraum zu sein.

Hat sich jemand damit beschäftigt und / oder einen Vorschlag?


Haben Sie eine Lösung für dieses Problem gefunden? Mit dem automatischen Etikettendruck für den Versand fangen wir nur 20% dieser Fehler auf und manchmal liefert der Spediteur nicht, da "die Adresse falsch ist" ...

Ich habe keine echte, vollständige Lösung gefunden. Für uns war das einzige wirkliche Problem, es auf der Anzeigeseite beim Auschecken zu beheben, also fügte ich einige JS hinzu, die bei Änderung von Zeile 2 ausgelöst werden, und wenn es genau mit Zeile 1 übereinstimmt, lösche ich es. Dies betrifft nicht die Kundenkontoseiten, wenn neue Adressen erstellt werden, aber ich war nicht so besorgt darüber.
BrianVPS

Dies ist teilweise in Bezug auf „Wie Chrome Autofill auslösen“ stackoverflow.com/questions/7223168/... Die kurze Antwort ist , indem sie die Regex Anforderungen für Namen oder Label in code.google.com/p/chromium/codesearch#chromium/ src / components /…
Ray Foss

Antworten:



2

Schnelle kleine Korrektur, fügen Sie der Eingabe ein 'readonly'-Attribut und ein onfocus-Attribut mit dem folgenden JS-Snippet hinzu:

onfocus="this.removeAttribute('readonly');"

Das Ganze sollte also so aussehen:

<input type="text" title="Street Address 2" name="billing[street][]" id="billing:street2" value="" class="input-text " readonly onfocus="this.removeAttribute('readonly');">

Chrome kann das Feld nicht automatisch ausfüllen, der Nutzer kann es jedoch manuell eingeben, da die JS ausgelöst wird, wenn er in das Feld klickt.

Tun Sie dies auch für die Faxeingabe. Chrome kopiert die Telefonnummer gerne in diese.


1
, willkommen bei magento SE. Ich dachte nicht, dass Readonly Good keine Idee ist, Auto Field zu stoppen
Amit Bera

Erfahrungsgemäß übersehen die Leute es einfach ... was überhaupt nicht gut ist und eine Menge Geld kosten kann. Die Hauptschwierigkeit bei der Behebung ist die Dynamik der Felder.
Ray Foss

2

Mit Autocomplete-Attributen können Sie als Entwickler steuern, wie der Browser ein bestimmtes Formularfeld ausfüllen soll. Wenn Sie beispielsweise eine Straßenadresse erwarten, können Sie dem Browser mit autocomplete = "address-line1" mitteilen, dass Sie diese erwarten . Dies verhindert, dass der Browser Formularfelder auf Ihrer Website falsch errät, was zu einer schlechten Benutzererfahrung führen kann.

https://developers.google.com/web/updates/2015/06/checkout-faster-with-autofill


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.