Magento Checkout Street Line Bug compilazione automatica


12

Ho notato di recente che un certo numero di ordini nel nostro negozio Magento hanno la linea stradale 1 copiata nella linea stradale 2.

Ho fatto un po 'di ricerche e sembra che sia correlato al riempimento automatico di Chrome. Se guardi i campi del modulo, Magento usa fatturazione [via] [] e spedizione [via] [] come nomi dei campi per entrambe le linee stradali. Quindi Chrome non riesce a capire quale sia quale e riempie automaticamente la riga dell'indirizzo 1 in entrambi i campi.

Ci sono alcune informazioni galleggianti che puoi usare l' attributo di completamento automatico nel campo di input del modulo per indicare a quale campo dovrebbe essere collegato, ma questo non è supportato e non funziona. In effetti, se si tenta di farlo, disabilita il completamento automatico sull'intero modulo. Ho anche provato a cambiare il nome del campo, ma questo interrompe il pagamento. Sembra che dovrei scavare a fondo nel codice e modificare il nome del campo sul modulo e ovunque sia referenziato, inviato a PayPal, salvato nel DB, ecc. Sembra un incubo.

Qualcuno ha affrontato questo e / o ha un suggerimento?


Hai trovato una soluzione per questo problema? Con la stampa automatica delle etichette per la spedizione rileviamo solo il 20% di questi errori e talvolta il corriere non consegna poiché "l'indirizzo è errato" ...

Non ho trovato una soluzione vera e completa. Per noi l'unica vera preoccupazione era risolverlo sul lato del display al momento del checkout, quindi ho aggiunto un po 'di JS che spara al cambio della linea 2 e, se corrisponde esattamente alla linea 1, lo elimino. Questo non gestisce le pagine degli account dei clienti durante la creazione di nuovi indirizzi, ma non ero così preoccupato.
BrianVPS

Ciò è parzialmente in relazione a "Come attivare il riempimento automatico di Chrome" stackoverflow.com/questions/7223168/… La risposta breve è soddisfacendo i requisiti Regex per nome o etichetta in code.google.com/p/chromium/codesearch#chromium/ src / components /…
Ray Foss

Risposte:


3

Puoi anche provare l' x-autocompletetypeattributo, sebbene questa sia una funzione sperimentale:

<input x-autocompletetype="address-line1" />
<input x-autocompletetype="address-line2" />


2

Piccola correzione rapida, aggiungi un attributo "readonly" all'input e un attributo onfocus con il seguente frammento JS:

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

Quindi il tutto dovrebbe apparire come:

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

Chrome non sarà in grado di compilare automaticamente il campo, ma l'utente può digitarlo manualmente poiché JS verrà attivato facendo clic sul campo.

Fallo anche per l'immissione del fax, a Chrome piace copiare il numero di telefono in quello.


1
, benvenuto in magento SE. Non pensavo che di sola lettura non sia l'idea di fermare il campo automatico
Amit Bera

Per esperienza la gente tende a trascurarlo ... il che non è affatto buono e può costare un sacco di soldi, la principale difficoltà nel risolverlo è la natura dinamica dei campi.
Ray Foss,

2

Gli attributi di completamento automatico sono un modo per te, lo sviluppatore, di controllare come il browser dovrebbe popolare un determinato campo del modulo. Ad esempio, se ti aspetti un indirizzo stradale, puoi suggerire al browser che ti aspetti utilizzando autocomplete = "address-line1" . Ciò impedisce al browser di indovinare erroneamente i campi del modulo sul tuo sito Web, il che può comportare un'esperienza utente scadente.

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


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.