【问题标题】:Submit PayPal form using JS not working使用 JS 提交 PayPal 表单不起作用
【发布时间】:2011-07-13 13:51:02
【问题描述】:

我有一个 PayPal 表单如下:(一些字段是使用 jQuery 添加的)

我正在尝试使用此代码使用第三个input 元素 (type="button") 提交表单:

$(".pp_button").click(function() { var 按钮 = $(this); button.parent().submit(); });

这应该可以正常工作吧?我正在使用var button,因为稍后会在click() 函数中使用其他部分。我检查了button.parent()tagName 并给出了FORM,所以没关系...

我在这里做错了什么?这通常工作正常...是因为我从 AJAX 调用中插入标签(最后两个 input 标签)吗?还有什么?我的桌子上没有成熟的切达干酪?

谢谢,

詹姆斯

【问题讨论】:

    标签: javascript jquery forms submit


    【解决方案1】:

    为什么不直接将输入类型从button 设置为submit?这将使按钮提交表单并且不需要任何Javascript?

    或者如果你想使用 javascript (jQuery),你可以给表单一个这样的 ID:

    <form method="post" action="https://www.paypal.com/cgi-bin/webscr" id="paypal_form">
    

    当你想提交表单时,你可以调用:

    $("#paypal_form").submit();
    

    【讨论】:

      【解决方案2】:

      您有一个名为submit 的表单控件。这用HTMLElementNode 破坏了submit 函数。

      最好的解决方案可能是在这里不使用 JavaScript。您说您需要其他事情发生,但用户可能已关闭 JS,因此如果它们很重要,您几乎肯定会更好地找到不同的方式。

      简单的解决方法是更改​​名称。

      复杂的解决方案是从另一个表单获取提交方法的副本,然后将其与您要提交的表单一起使用:

       document.createElement('form').submit.apply(this.form);
      

      【讨论】:

      • 令人讨厌的是我无法更改名称(至少我认为);它可能会被 PayPal 以某种方式使用……我会用另一个名字来测试它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多