Javascript 单击函数末尾的按钮

Javascript 单击函数末尾的按钮,javascript,jquery,Javascript,Jquery,当有人点击“创建账户”时,我用一个条带结帐按钮弹出,当他们输入信用卡信息时,弹出窗口关闭 如何在弹出窗口关闭后以编程方式单击“创建帐户”按钮 这是顺序 1) 用户单击“创建帐户”按钮 2) 弹出窗口打开 3) 弹出窗口关闭,然后以编程方式单击按钮 我想是这样的,但我还没有让它工作。按钮ID为#创建# $("#create_stripe").click(); 代码: <script> var handler = StripeCheckout.configure({ key

当有人点击“创建账户”时,我用一个条带结帐按钮弹出,当他们输入信用卡信息时,弹出窗口关闭

如何在弹出窗口关闭后以编程方式单击“创建帐户”按钮

这是顺序 1) 用户单击“创建帐户”按钮 2) 弹出窗口打开 3) 弹出窗口关闭,然后以编程方式单击按钮

我想是这样的,但我还没有让它工作。按钮ID为#创建#

$("#create_stripe").click();
代码:

<script>
  var handler = StripeCheckout.configure({
    key: 'pk_test',
    image: '/img/documentation/checkout/marketplace.png',
    locale: 'auto',
    token: function(token) {
      // Use the token to create the charge with a server-side script.
      // You can access the token ID with `token.id`
    }
  });

  $('#create_stripe').on('click', function(e) {
    // Open Checkout with further options
    handler.open({
      name: 'Demo Site',
      description: '2 widgets',
      amount: 2000
    });
    e.preventDefault();
  });

  // Close Checkout on page navigation
  $(window).on('popstate', function() {
    handler.close();

  });


</script>

var handler=StripeCheckout.configure({
键:“pk_测试”,
图像:'/img/documentation/checkout/marketplace.png',
区域设置:“自动”,
令牌:函数(令牌){
//使用令牌通过服务器端脚本创建费用。
//您可以使用`token.ID'访问令牌ID`
}
});
$('create#u stripe')。在('click',函数(e)上{
//打开带有更多选项的签出
handler.open({
名称:“演示站点”,
描述:“2个小部件”,
金额:2000
});
e、 预防默认值();
});
//关闭页面导航上的签出
$(窗口).on('popstate',function()){
handler.close();
});
您应该使用
$(“#创建条带”)。单击()。看见但是,请直接使用它:`

$(window).on('popstate', function() {
   $("#create_stripe").click()
});
以下任一项:

document.getElementById('create_stripe').click(); 
$('#create_stripe').click();

只要触发它。由于要执行放置在
click
事件中的代码,可以使用
$(“#create_stripe”)触发它。trigger('click')

编辑:根据您在下面的评论,我认为您需要这样的东西:

  var handler = StripeCheckout.configure({
    key: 'pk_test',
    image: '/img/documentation/checkout/marketplace.png',
    locale: 'auto',
    token: function(token) {
      // Use the token to create the charge with a server-side script.
      // You can access the token ID with `token.id`
    },
    closed: function (){
        $("#create_stripe").trigger('click')
    }
  });

您应该使用
trigger()
方法
click()
方法不明确,因为它既是侦听器又是触发器。因此,如果你调用触发器,你不会有模棱两可的行为:

 $(element).trigger('click'); // or the event you need
更多信息:


使用
$(“foo”).trigger(“click”)

document.getElementById('create_stripe')。单击()@charlietfl很抱歉没有尝试单击iFrame。尝试单击弹出窗口关闭后创建的“我的”按钮。关闭后单击的目的是什么?我怀疑你是否能进入弹出窗口event@charlietfl在my rails应用程序中创建帐户。但我不希望用户点击两次。基本上,用户输入他们的信息,单击创建帐户一次,弹出窗口打开,他们输入他们的信用信息,单击提交,弹出窗口关闭,然后现在他们必须再次单击创建帐户。我只是想让它自动点击,因为他们已经点击了一次。但在弹出窗口中的接受应该提交一个表单到您的服务器。这听起来像个XY问题谢谢。这是可行的,但顺序并不完全正确。弹出窗口关闭后,我将如何进行此操作?@rs19,这取决于弹出窗口。通常,弹出式插件提供一个事件,您可以附加到该事件,该事件将在弹出式插件隐藏后立即运行javascript。@rs19看起来像是您在从中查找
关闭的
选项。该回调应在对话框消失后运行。你可以在那里扣动扳机,谢谢。这看起来对吗<代码>$(窗口)。在('closed',function(){$(“#创建条带”)。单击()将单击事件附加到窗口
closed
事件。我认为这不是你想要的。我甚至不确定我的解决方案是否正确,但请尝试我的编辑中的代码,看看是否适合您。谢谢。这是可行的,但顺序并不完全正确。在弹出窗口关闭后,我将如何进行此操作?您应该使用条件测试来查看窗口是否处于所需状态(关闭的弹出窗口)。如果您只想出于UI原因延迟调用,则应使用
setTimeout(function(){$(“#create_stripe”)。单击()},
。这取决于上下文。没有任何含糊不清的地方。。。如果没有提供任何参数,那么它会执行与
trigger()
完全相同的操作,这是一种歧义<代码>:)