如何在动态页面中启动sqPaymentForm?

How to initiate sqPaymentForm in dynamic page?

我正在使用 JQuery 的 .ajax() 方法将 sqPaymentForm 动态加载到现有页面中,但我无法将表单获取到 "initiate"(我不确定是否这是正确的说法。

我知道表单未启动,因为表单字段未填充占位符值并且未触发 paymentFormLoaded 回调。

我尝试延迟 sqPaymentForm 的定义以确保使用

加载 DOM
$(function(){
    var sqPaymentForm = new SqPaymentForm({...});
});

无济于事。但是,我可以确认 sqPaymentForm var 已定义,因为我可以使用

将其发送到控制台
console.log(sqPaymentForm);

然后我可以在那里检查它,但它仍然不是 "initializing."

我怀疑我需要调用 SqPaymentForm 的特定子方法 class 但我什至不知道我是否在正确的轨道上。

如有任何帮助,我们将不胜感激。

SqPaymentForm 侦听页面加载事件,因此当您动态加载它时,该事件可能已经发出。您需要手动触发 sqPaymentForm.build() 方法来触发 SqPaymentForm 来构建您的付款表单。

您可以在设置指南的疑难解答部分查看示例 here

此外,如果页面上已有 SqPaymentForm JavaScript,但不希望它在页面加载时自动构建,则可以设置 autoBuild: false 的配置选项。