Я следовал рекомендациям, указанным в this other Stack Overflow post, и использовал шаблон, найденный в the list of regexes used by Chrome, но по какой-то причине Chrome по-прежнему не обнаруживает, что мое поле является полем кредитной карты.Ошибка автозаполнения кредитной карты Chrome
Safari обнаруживает это просто отлично.
Вот входной HTML, как показано на веб-инспектор:
<input class="control" id="card_number" type="tel" name="card_number"
value="" autocorrect="off" spellcheck="off" autocapitalize="off"
placeholder="Card number" data-reactid=".0.1.1.0.0.5.0.0"
x-autocompletetype="cc-number" autocompletetype="cc-number">
Да, как вы можете видеть из data-reactid
, я использую React. Может быть, это имеет к этому какое-то отношение. Кто знает!
Я установил тестовую страницу, чтобы другие могли играть с ней. Вы можете посетить https://entire.life/payment-form-test в Safari, и (если у вас есть автозаполнение и сохраненная на нем кредитная карта), он появится. Если вы посетили его в Chrome, он не выберет опцию автозаполнения. Даже после ввода первой буквы вашей карты.
Этот код является открытым исходным кодом. Вы можете увидеть источник для /payment-form-test
страницы here.
Да, это странно.Здесь вы можете увидеть [рабочую демонстрацию] (https://greenido.github.io/Product-Site-101/form-cc-example.html), где CC# будет автозаполнен для вас в Chrome. Интересно, имеет ли он какое-либо отношение к вам, используя 'type =" tel ", но я бы не надеялся. – idbehold
А это, похоже, стоило попробовать, @idbehold, но это не проблема. Я изменил его на 'type =" text "', но проблема не устранена. Это имеет смысл! Я скопировал атрибуты входного элемента, 'type =" tel "и все, из [Пример проверки Stripe] (https://stripe.com/docs/tutorials/checkout). Было бы странно, если бы это вызвало проблему для меня, а не для них! Мы должны искать не то место. : - / – chadoh