我已经创建了一个 paypal 表单,但是我想在确认并插入所有数据库查询后重定向 paypal 信息,然后我希望表单应该自动提交并重定向到 paypal,所以我使用了一些 jQuery 来这样做但是不幸的是,当我重新加载他的表单没有提交的页面时,任何人都可以帮助我
这是我的代码
<form action="listing.php" method="post">
<input type="hidden" name="business" value="<?php echo $paypal_id; ?>">
<input type="hidden" name="url" value="<?php echo $paypal_id; ?>">
<input type="hidden" name="paypal_url" value="<?php echo $paypal_url; ?>" />
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="item_name" value="Room Rent for <?php echo $data['name']; ?>">
<input type="hidden" name="item_number" value="<?php echo $_SESSION['id']; ?>">
<input type="hidden" name="credits" value="510">
<input type="hidden" name="userid" value="<?php echo $_SESSION['id']; ?>">
<input type="hidden" name="amount" value="<?php echo $total_cost; ?>">
<input type="hidden" name="start_time" value="<?php echo $start_time; ?>" />
<input type="hidden" name="end_time" value="<?php echo $end_time; ?>" />
<input type="hidden" name="agent_id" value="<?php echo $data['agent_id']; ?>" />
<input type="hidden" name="list_id" value="<?php echo $data['id']; ?>" />
<button type="submit" class="btn5 btn-primary btn-sm" name="book">Book Now</button>
</form>
所以让我解释一下我在这里所做的是我在第一个表单中创建了 2 个表单我希望用户在用户提交所有信息时单击提交保存到数据库中保存后它生成自动 ID 最后一个 ID 和我想要那个 id 作为交易 id 所以我把那个 id 发送给 paypal for 和 paypal 没有形式我不能发送信息所以这就是为什么我使用以下步骤这样做的原因
<?php
if(isset($_POST['book'])) {
$user_id = $_POST['userid'];
$agent_id = $_POST['agent_id'];
$list_id = $_POST['list_id'];
$business = $_POST['business'];
$item_name = $_POST['item_name'];
$item_num = $_POST['item_number'];
$amount = $_POST['amount'];
$item_num = $_POST['item_number'];
$start_time= $_POST['start_time'];
$end_time = $_POST['end_time'];
$qry_sql = mysqli_query($connection, "INSERT INTO bookings (user_id, agent_id, list_id, booking_date, start_time, end_time, price, status) VALUES ('$user_id', '$agent_id', '$list_id', '".date('d-m-Y')."', '$start_time', '$end_time', '$amount', 'Pending')");
$trans_id = mysqli_insert_id($connection);
if($qry_sql) {
$co_ammount = $amount / 100 * 25;
$agent_ammount = $amount - $co_ammount;
$due_date = date('d-m-Y', strtotime("+2 days"));
$qry_sql1 = mysqli_query($connection, "INSERT INTO financial (agent_id, booking_id, order_date, due_date, total_ammount, agent_ammount, co_ammount, status) VALUES ('$agent_id', '$trans_id', '".date('d-m-Y')."', '$due_date', '$amount', '$agent_amount', '$co_ammount', 'Pending')");
?>
<script>
$('#frmPayPal1').submit();
</script>
<form action="<?php echo $_POST['paypal_url']; ?>" method="post" id="frmPayPal1">
<input type="hidden" name="business" value="<?php echo $business; ?>">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="item_name" value="<?php echo $item_name; ?>">
<input type="hidden" name="item_number" value="<?php echo $trans_id; ?>">
<input type="hidden" name="userid" value="<?php echo $user_id; ?>">
<input type="hidden" name="amount" value="<?php echo $amount; ?>">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="handling" value="0">
<input type="hidden" name="cancel_return" value="http://dev.uparksf.com/cancel.php?tx=<?php echo $trans_id; ?>">
<input type="hidden" name="return" value="http://dev.uparksf.com/success.php">
</form>
<?php } ?>
<?php } ?>
最佳答案
你只需要做一件事,而不是
<script>
$('#frmPayPal1').submit();
</script>
应该是:
<script>
$(document).ready(function(){
$('#frmPayPal1').submit();
})
</script>
这应该有效!
关于javascript - jquery表单提交而不点击提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41088885/