HTML:
<form action="https://live.sagepay.com/gateway/service/vspform-register.vsp" method="POST" id="sagepay_form">
<input type="hidden" name="navigate" value="" />
<input type="hidden" name="VPSProtocol" value="2.23">
<input type="hidden" name="TxType" value="PAYMENT">
<input type="hidden" name="Vendor" value="******************">
<input type="hidden" id= "Crypt" name="Crypt" value="">
<input id="payment_proceed" value="Proceed To Payment" class="mws-button green" type="button">
</form>
JS:
$("#payment_proceed").click(function() {
$.post('/includes/cart/ajax/sagepay.php', { //This script just echos the base64 "Crypt" string required by sagepay.
"cart_id": <?php echo $cart_id; ?>,
"title": $("#title").val(),
"first_name": $("#first_name").val(),
"last_name": $("#last_name").val(),
"telephone": $("#telephone").val(),
"email": $("#email").val(),
"line1": $("#line1").val(),
"line2": $("#line2").val(),
"line3": $("#line3").val(),
"town": $("#town").val(),
"county": $("#county").val(),
"postcode": $("#postcode").val()
},
function(crypt){
$("#Crypt").val(crypt); //The base64 "Crypt" string is inserted in to the hidden form field here.
alert($("#Crypt").val()); //I just put this here to make sure it had received the "Crypt" string.
$("#sagepay_form").submit(); //This doesn't work...
});
});
我不知道为什么$(“#sagepay_form”)。submit();不提交表格。我唯一的猜测是因为“action”url是一个远程服务器。如果是这种情况,有谁知道我如何能够实现我想要实现的目标?
谢谢,非常感谢任何帮助。
答案 0 :(得分:0)
使用$("#sagepay_form").submit(function()
...代替$("#payment_proceed").click(function()
。