0

我需要在 Javascript 函数中包含对 PayPal 的调用。我希望在执行and之前调用 PayPal 。myStep1myStep2

这是功能:

function() {    
    // need call to PayPal here, before myStep1 and myStep2 
    $.when.apply(undefined, myStep1()).done(function () {
    $.ajax({
        url: sURL + "myController/myStep2",
        success: function() {  
                $.msg("Success Message", live:10000
                });
            },
        error: function(){
                $.msg("Error Message", live:10000
                });
            }
        }); 
    });
};

这是需要不可见并通过上述 Javascript 函数以某种方式提交的 PayPal 表单:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
  <input type="hidden" name="cmd" value="_s-xclick">
  <input type="hidden" name="hosted_button_id" value="123456789">
  <input type="image"
      src="https://www.paypalobjects.com/en_US/i/btn/btn_paynow_SM.gif"
      border="0" name="submit"
      alt="PayPal - The safer, easier way to pay online!">
  <img alt="" border="0"
      src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1"
      height="1">
</form>

关于如何最好地将这个 PayPal 表单提交到 Javascript 函数中的任何想法?我想我可能想要做的是模拟 PayPal 按钮的点击。谢谢。

4

2 回答 2

1

尝试这个?

// This will disable the normal PayPal submit
var buttn = $('input[name=submit]');
buttn.click(function(e) {
    e.preventDefault();
});

function() {    
    // need call to PayPal here, before myStep1 and myStep2
    buttn.closest('form').submit();
    $.when.apply(undefined, myStep1()).done(function () {
    $.ajax({
        url: sURL + "myController/myStep2",
        success: function() {  
                $.msg("Success Message", live:10000
                });
            },
        error: function(){
                $.msg("Error Message", live:10000
                });
            }
        }); 
    });
};
于 2013-02-03T10:31:18.833 回答
1

贝宝按钮是 iFramed 项目。

首先,你不能通过JS函数调用提交,跨浏览器成功。其次,不能影响 iFrame 的 JS 行为。您只能影响包含 iFrame 的页面的操作。这就是 iFrame 的本质。

您正在有效地尝试通过客户端脚本控制另一个站点上另一个页面的操作。

于 2013-02-03T10:12:00.307 回答