Magento Checkout Street Lineの自動入力バグ


12

最近、Magentoストアの多くの注文でストリートライン1がストリートライン2にコピーされていることに気付きました。

少し掘り下げたところ、Chromeのオートフィルに関連しているようです。フォームフィールドを見ると、Magentoは両方のストリートラインのフィールド名としてbilling [street] []およびshipping [street] []を使用しています。そのため、Chromeはどちらがどちらであるかを判断できず、アドレス行1を両方のフィールドに自動入力します。

フォーム入力フィールドでautocomplete属性を使用してリンク先のフィールドを示すことができるという情報が浮かんでいますが、これはサポートされておらず機能しません。実際、それを行おうとすると、フォーム全体でオートコンプリートが無効になります。フィールド名も変更しようとしましたが、チェックアウトに失敗します。コードを深く掘り下げて、フォームのフィールド名を変更し、参照されている場所、PayPalに送信された場所、DBに保存された場所などを変更する必要があるようです。これは悪夢のようです。

誰もこれに対処したり、提案がありますか?


この問題の解決策を見つけましたか?我々は唯一のこれらのエラーの20%をキャッチし、時にはキャリア「はアドレスが間違っている」ので、お届けDONT出荷のための自動ラベル印刷...と

私は真の完全な解決策を見つけていません。私たちにとって唯一の本当の懸念は、チェックアウト時にディスプレイ側で修正することでした。そこで、2行目の変更で起動するJSを追加し、1行目と完全に一致する場合はクリアします。これは、新しい住所を作成するときに顧客アカウントページを処理しませんが、私はそれについて心配していませんでした。
BrianVPS

これは、部分的に「クロムオートフィルをトリガーする方法」に関連しているstackoverflow.com/questions/7223168/...短い答えをして名前やラベルのための正規表現の要件を満たすことであるcode.google.com/p/chromium/codesearch#chromium/ SRC /コンポーネント/ ...
レイフォス

回答:



2

ちょっとした修正を行い、入力に「読み取り専用」属性を追加し、次のJSスニペットでonfocus属性を追加します。

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

したがって、全体は次のようになります。

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

Chromeはフィールドに自動入力できませんが、ユーザーがフィールドをクリックするとJSがトリガーされるため、ユーザーは手動で入力できます。

ファックス入力に対してもこれを行います。Chromeは電話番号をその番号にコピーすることを好みます。


1
、magento SEへようこそ。私は読み取り専用良いがストップ自動フィールドは考えていないことを考えていない
アミットベラ

経験から、人々はそれを単に見落とす傾向があります...それはまったく良くなく、多くのお金がかかる可能性があります、それを修正する主な困難はフィールドの動的な性質です。
レイ・フォス

2

開発者は、オートコンプリート属性を使用して、ブラウザが特定のフォームフィールドに入力する方法を制御できます。たとえば、番地を期待している場合は、autocomplete = "address-line1"を使用して、期待していることをブラウザに示唆できます。これにより、ブラウザがWebサイト上のフォームフィールドを誤って推測し、ユーザーエクスペリエンスが低下するのを防ぎます。

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


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.