-2

Paypal クラスがあり、フォームをエコーし​​て、ユーザーが [支払い] をクリックした後に送信したいと考えています。私はJavaScriptを試しましたが、うまくいきませんでした。

if(isset($_SESSION['user_id']))
{

include('includes/class_paypal.php');
include 'includes/class_order.php';
include 'includes/class_user.php';
include 'includes/class_permission.php';
include('includes/adminfunctions_status.php');

$invoice = new paypal();
$order = new order($_GET['pay']);


$invoice->custom = $_GET['pay'];
$invoice->amount = $order->price;
$invoice->item_name = 'Order #'.$order->id.'';
$invoice->item_number = $order->id;
$invoice->init();
}

?>

<script type="text/javascript">

$(document).ready(myfunc () {
        var frm = document.getElementById("order");
        frm.submit();
    }

</script>

ペイパルクラス

    var $cmd = "_xclick";
    var $business = "**";
    var $item_name;
    var $item_number;
    var $amount;
    var $no_shipping = 1;
    var $no_note = 1;
    var $currency_code = "USD";
    var $lc = 'US';
    var $bn = "PP-BuyNowBF";
    var $return;
    var $cancel_return;
    var $rm = 2;
    var $notify_url;
    var $custom;

    function init()
    {
        echo '

        <form id="order" target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
        <input type="hidden" name="cmd" value="_cart"> 
        <input type="hidden" name="business" value="'.$this->business.'"> 
        <input type="hidden" name="item_name" value="'.$this->item_name.'"> 
        <input type="hidden" name="item_number" value="'.$this->item_number.'">
        <input type="hidden" name="amount" value="'.$this->amount.'">  
        </form>



        ';
    }

ご覧のとおり、注文情報を初期化してからフォームを投稿したいと思います。したがって、ユーザーが index.php?pay=45 (45 は注文番号) に移動すると、ファイルにフォームとすべてを表示してから、フォームを Paypal に投稿します。

4

2 に答える 2

0

試す:

$(document).ready(function() {
  var frm = document.getElementById("order");
  frm.submit();
});

または

$(document).ready(function() {
   $('#order')[0].submit();
});
于 2012-07-07T07:55:26.990 に答える
0

これを試して:

 jQuery(document).ready(function(){
          setTimeout(function(){
             var frm = document.getElementById("order");
             frm.submit();              

          },10000);
    });

これにより、ユーザーがフォームを表示できるように、送信が 10 秒間遅延されます。

于 2012-07-07T07:58:00.607 に答える