我有用于获取付款方式的这段代码,如果它是条带化,它将加载条带数据,但如果不是,我希望它卸载条带数据并使html按钮正常提交
html-php代码
<script src="https://checkout.stripe.com/checkout.js"></script>
<form id="myForm" action="<?php echo base_url('payments/redirect_to_paypal');?>" method="POST">
<select class="form-control" id="method" name="Payment-Method">
<option value="paypal">Paypal</option>
<option value="stripe">Credit Card</option>
</select>
Jquery代码
$(document).ready(function(){
$('#method').on('change',function(){
var method = $(this).val();
if(method){
if(method == "stripe"){
var handler = StripeCheckout.configure({
key: 'pk_test_8YUupmrOHjstnsJ5S7hufFzG',
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
token: function(token) {
$("#stripeToken").val(token.id);
$("#stripeEmail").val(token.email);
$("#amountInCents").val(Math.floor($("#amountInDollars").val() * 100));
$("#myForm").submit();
}
});
$('#customButton').on('click', function(e) {
var amountInCents = Math.floor($("#amountInDollars").val() * 100);
var displayAmount = parseFloat(Math.floor($("#amountInDollars").val() * 100) / 100).toFixed(2);
// Open Checkout with further options
handler.open({
name: 'شحن رصيدك',
description: 'شحن رصيدك بقيمة ($' + displayAmount + ')',
amount: amountInCents,
});
e.preventDefault();
});
// Close Checkout on page navigation
$(window).on('popstate', function() {
handler.close();
});
}else{
// unload the upper one
}
}
});
});
如果方法不是条带化,我想卸载用于条带化的上层代码
答案 0 :(得分:1)
确切地回答您的问题,您不能“卸载某些代码”,必须在任何可能的情况下编写要执行的代码。如果您想始终共享或执行某些代码,则可以将它们放在if-else块之后,或者放在需要时可以调用的外部函数中。
如果我了解您要正确执行的操作,我认为您应该只使用按钮单击处理程序,即可在其中使用$('#method')。val()检查该方法,并在提交表单之前执行所需的逻辑