Braintree插入,处理时禁用提交按钮

时间:2015-02-05 11:48:24

标签: javascript jquery braintree

我试图做一些看似简单的事情,但我无法让它发挥作用。 我正在使用Braintree dropin UI,我有提交按钮。 我需要在处理时禁用该按钮,我找不到要附加的好事件。



var ct = 'tokenhere';
var bt = braintree.setup(ct, 'dropin', {
  container: 'braintreedropin',
});

<form id="PayByBrainTreeCheckout" method="post">
  <div id="braintreedropin"></div>       
  <input type="submit" value="Pay">                          
</form>
&#13;
&#13;
&#13;

我尝试$('#PayByBrainTreeCheckout').submit(function(){/*disable button*/})但如果表单中存在验证错误,也会禁用该按钮。

有什么想法吗?感谢

3 个答案:

答案 0 :(得分:3)

我也在Braintree工作。您确认客户可以在提交交易时点击提交按钮两次,但您不必担心客户被收取两次费用,因为第二次交易将失败(由信用卡只能使用一次)。此外,提交后表格上的直接视觉反馈旨在让客户知道他们正在处理按钮印刷。

如果您确实想要执行更复杂的操作(例如添加自定义回调以禁用提交按钮),我们的自定义集成是一个不错的选择。

正如Mat提到的,如果您需要有关集成的进一步帮助,请随时联系support@getbraintree.com。

答案 1 :(得分:2)

Braintree即将添加这样的回调。这是github问题:https://github.com/braintree/braintree-web/issues/38

会导致类似这样的事情:

braintree.setup(TOKEN, 'dropin', {
    container: 'my-container',
    onError: function (payload) {
        if (payload.type === 'validation:failed') {
            // re-enable button
        }
    }
});

答案 2 :(得分:-1)

我制作了一个如何将Braintree与WebForms结合使用的有效示例。

https://github.com/StavrosD/BrainTree-PayPal-DotNet

我在README.md上描述了工作流程。