使用Braintree的托管字段加载表单时,如何使浏览器专注于长信用卡号字段?

时间:2019-01-28 15:17:09

标签: javascript braintree

我正在使用BrainTree托管字段

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

用于支付网关。

加载“信用卡”表单后,用户必须单击输入才能开始。

我的客户希望输入长卡号的输入框。出于安全原因,由于表单位于iFrame中,因此我不知道如何执行此操作,并且文档中的选项数量似乎并不涵盖设置文本区域的重点。

我在这里错过了什么吗?还是根本不可能?

3 个答案:

答案 0 :(得分:1)

您要的内容无法用于任意的第三方iframe,但是Braintree的API似乎确实可以通过在hostedFieldInstance上使用focus() method来允许它:

hostedFieldsInstance.focus('fieldname', function (focusErr) {
  if (focusErr) {
    console.error(focusErr);
  }
});

答案 1 :(得分:0)

在处理iFrame时出现了问题。您可以手动设置iFrame的焦点,即使有或没有延迟,但是如果iFrame提供者没有开发表单来专注于该元素并且不提供postMessage API,那么您基本上就无法选择,因为它不在您的秒内沙箱。如果可能的话,基本上会损害浏览器的安全性。

答案 2 :(得分:0)

关闭问题,因为这是不可能的。

所有“解决方案”都试图破坏客户卡详细信息的安全性。