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