Как я могу сделать так, чтобы браузер фокусировался на поле с длинным номером кредитной карты при загрузке формы с помощью размещенных в Braintree полей - PullRequest
0 голосов
/ 28 января 2019

Я использую размещенные поля BrainTree

https://developers.braintreepayments.com/guides/hosted-fields/overview/javascript/v3

Для платежного шлюза.

Когда загружена форма кредитной карты, пользователь должен нажать наввод начнется.

Мой клиент хочет, чтобы поле ввода для длинного номера карты уже было в фокусе.Я не могу понять, как это сделать, так как форма находится в iFrame по соображениям безопасности, а количество параметров в документации, кажется, не охватывает установку текстовой области в фокусе.

Ячто-то здесь упущено или это просто невозможно?

Ответы [ 3 ]

0 голосов
/ 28 января 2019

То, что вы запрашиваете, невозможно для произвольных сторонних фреймов, но API Braintree, кажется, позволяет это с помощью метода focus () в hostedFieldInstance:

hostedFieldsInstance.focus('fieldname', function (focusErr) {
  if (focusErr) {
    console.error(focusErr);
  }
});
0 голосов
/ 29 января 2019

Заключительный вопрос, так как это невозможно.

Все «решения» приводят к ошибкам в попытке подорвать безопасность данных карты клиента.

0 голосов
/ 28 января 2019

При работе с iFrames это проблема.Вы можете сфокусировать iFrame вручную, даже с задержкой или без задержки, но если поставщик iFrame не разработал форму для фокусировки на этом элементе и не предоставляет API postMessage, то у вас в основном нет вариантов, потому что он находится за пределами вашей безопасности.песочница.Если это было возможно, то в основном безопасность браузера будет скомпрометирована.

...