Magento Checkout Street Line Autofill Bug

12

Saya perhatikan baru-baru ini bahwa sejumlah pesanan di toko Magento kami memiliki jalur 1 disalin ke jalur 2.

Saya melakukan beberapa penggalian dan tampaknya terkait dengan pengisian otomatis Chrome. Jika Anda melihat bidang formulir, Magento menggunakan penagihan [jalan] [] dan pengiriman [jalan] [] sebagai nama bidang untuk kedua garis jalan. Jadi Chrome tidak dapat menentukan mana yang mana dan mengisi otomatis baris alamat 1 ke dalam kedua bidang.

Ada beberapa info yang beredar di mana Anda dapat menggunakan atribut autocomplete pada bidang input formulir untuk menunjukkan bidang mana yang harus ditautkan, tetapi ini tidak didukung dan tidak berfungsi. Bahkan, jika Anda mencoba melakukan itu, ia menonaktifkan pelengkapan otomatis pada seluruh formulir. Saya juga mencoba mengubah nama bidang, tetapi tidak berhasil. Sepertinya saya harus menggali lebih dalam ke kode dan mengubah nama bidang pada formulir dan di mana pun itu direferensikan, dikirimkan ke PayPal, disimpan dalam DB, dll. Ini seperti mimpi buruk.

Adakah yang pernah menangani hal ini dan / atau memiliki saran?

BrianVPS
sumber
Sudahkah Anda menemukan solusi untuk masalah ini? Dengan cetak label otomatis untuk pengiriman, kami hanya menangkap 20% dari kesalahan ini dan kadang-kadang operator tidak mengirimkannya karena "alamat salah" ...
Saya belum menemukan solusi yang benar dan lengkap. Bagi kami satu-satunya masalah nyata adalah memperbaikinya di sisi tampilan pada checkout, jadi saya menambahkan beberapa JS yang menyala pada perubahan jalur 2 dan, jika itu sama persis dengan baris 1, saya menghapusnya. Ini tidak menangani halaman akun pelanggan saat membuat alamat baru, tapi saya tidak khawatir tentang itu.
BrianVPS
Ini sebagian terkait dengan "Cara memicu IsiOtomatis Chrome" stackoverflow.com/questions/7223168/... Jawaban singkatnya adalah dengan memenuhi persyaratan Regex untuk nama atau label dalam code.google.com/p/chromium/codesearch#chromium/ src / components / ...
Ray Foss

Jawaban:

3

Anda juga dapat mencoba x-autocompletetype-atribusi, meskipun ini adalah fitur eksperimental:

<input x-autocompletetype="address-line1" />
<input x-autocompletetype="address-line2" />
Giel Berkers
sumber
Cheatsheet yang
Mihai MATEI
2

Perbaikan kecil cepat, tambahkan atribut 'readonly' ke input, dan atribut onfocus dengan cuplikan JS berikut:

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

Jadi semuanya akan terlihat seperti:

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

Chrome tidak akan dapat mengisi bidang secara otomatis, tetapi pengguna dapat mengetik secara manual karena JS akan dipicu saat mereka mengklik di bidang tersebut.

Lakukan ini untuk input faks juga, Chrome suka menyalin nomor telepon ke nomor itu.

natecornell
sumber
1
, selamat datang di magento SE. Saya tidak berpikir bahwa hanya membaca yang baik bukanlah ide untuk menghentikan bidang otomatis
Amit Bera
Dari pengalaman orang cenderung mengabaikannya ... yang tidak bagus sama sekali dan dapat menghabiskan banyak uang, kesulitan utama dalam memperbaikinya adalah sifat dinamis dari ladang.
Ray Foss
2

Atribut autocomplete adalah cara bagi Anda, pengembang, untuk mengontrol bagaimana browser harus mengisi bidang formulir yang diberikan. Misalnya, jika Anda mengharapkan alamat jalan, Anda dapat memberi petunjuk kepada browser bahwa Anda mengharapkannya dengan menggunakan autocomplete = "address-line1" . Ini mencegah browser dari salah menebak bidang formulir di situs web Anda yang dapat mengakibatkan pengalaman pengguna yang buruk.

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

Erfan
sumber
2

Penggunaan x-autocompletetype="address-line2"tampaknya tidak berfungsi dengan Chrome terbaru (65.0.3325.106), itu masih akan menduplikasi alamat jalan pertama ke kedua input. Namun, autocomplete="address-line1"dan autocomplete="address-line2"sepertinya bekerja seperti yang diharapkan.

Lebih detail di sini: https://developers.google.com/web/updates/2015/06/checkout-faster-with-autofill#address

Komandan Kode
sumber