【问题标题】:How do I add jQuery to a submit button which fires before Paypal objects?如何将 jQuery 添加到在 Paypal 对象之前触发的提交按钮?
【发布时间】:2016-07-05 17:27:52
【问题描述】:

我有一个可以正常使用的 Paypal Digital Express 表单。但是,我想在提交按钮中添加一些 jQuery,它会在 Paypal 弹出窗口打开之前触发,并且可以阻止 Paypal 代码触发。不幸的是,Paypal 窗口总是先打开。

  jQuery('#buyLink').click( function(e) { 
        e.preventDefault();
        // if no boxes are checked; no songs selected
        if ( jQuery("#buysongs input:checkbox:checked").length == 0) {  
            alert('Please select at least one song!');
            return false;
        }
    });

有没有办法确定我的代码的优先级,以便它在 Paypal 代码之前触发?

编辑:我在第一个答案中添加了 e.preventDefault() ,但它的作用是: a) 弹出窗口仍然打开,但 b) 永远无法访问 Paypal 网站。

相反,它会在弹出窗口中显示调用页面。

所以...我想阻止该 Paypal 弹出窗口打开。也许我需要更改表单上的“动作”并从我的 jQuery 内部触发该动作?如果是这样,我该怎么做?

【问题讨论】:

    标签: javascript jquery forms paypal


    【解决方案1】:

    查看 preventDefault() 函数:

    jQuery('#buyLink').click( function(event) { 
    
        event.preventDefault();
    
        if (jQuery("#buysongs input:checkbox:checked").length == 0) {  
            alert('Please select at least one song!');
            return false;
        }
        else{
            // submit form
        }
    
    });
    

    【讨论】:

    • 这样做是:a) 弹出窗口仍然打开,但 b) 永远无法访问 Paypal 站点。相反,它会在弹出窗口中显示调用页面。
    • @jchwebdev 如果我们可以看到其余代码,会更容易理解为什么会发生这种情况,但如果您出于安全原因不想发布它,我可以理解。如果他们没有选择任何歌曲,一个简单的替代方法是完全隐藏或禁用购买链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多