用户在<iframe>中执行操作后删除<div>

时间:2017-12-14 07:32:22

标签: jquery iframe stripe-payments

我的付款表单是来自第三方的&lt; iframe&gt; ,后面是&lt; div&gt; 。用户完成付款后,我想删除此div。

&#xA;&#xA;
 &lt; iframe id =“payment-form”&gt; &lt; / iframe&gt;&#xA;&lt; div class =“to-disappear”&gt;&lt; / div&gt;&#xA;&#xA;&lt; script language =“javascript”&gt;&#xA; var iframe = document.getElementById('payment-form');&#xA; iframe.src ='https:somelink.com';&#xA;&lt; / script&gt;&#xA;  
&#xA;&#xA;

我看到很多人建议<代码> .load(function()但事实并非如此。我需要在付款后删除 .to-disappear ,而不是初始加载。一旦付款成功,我从Stripe收到一个令牌,也许这可能有用。

&#xA;&#xA;

有没有办法让这种情况发生?

&#xA;

1 个答案:

答案 0 :(得分:0)

如果您将看到用于生成令牌的条带j,当脚本将令牌附加到您的表单时,您将看到此方法中的stripeResponseHandler,您可以编写要隐藏的代码

  function stripeResponseHandler(status, response) {
                    if (response.error) {
                        // re-enable the submit button
                        $('.submit-button').removeAttr("disabled");
                        // show the errors on the form
                        $(".payment-errors").html(response.error.message);
                    } else {
                        var form$ = $("#payment-form");
                        // token contains id, last4, and card type
                        var token = response['id'];
                        // insert the token into the form so it gets submitted to the server
                        form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />");
                        // and submit
                        form$.get(0).submit();
                    }
                }