This JSFiddle應該工作。
它只是在第一個表單中有一個簡單的條件因素(您可以修改它來檢查正確的付款信息),第二個表單具有提交按鈕。如果第一個表單的信息不正確,它將不會通過使用
return false;
發送。如果確實通過了,那麼它會首先發送第一個表單,並使用
form.submit();
,然後用第二個表單進行處理。
編輯:以上答案只是將兩種形式 - 它不檢查的第一個經過,但它確實insteads一些基本的JS驗證。
所以假設你有兩種形式(因爲你imgur鏈接被打破,我不能告訴他們真正的樣子):
<form action="braintree.php">
<!-- Payment options -->
</form>
<form action="questions.php">
<!-- The questions you want -->
<button>Submit</button>
</form>
,並假定你有braintree.php
文件:(你使用PHP,右)
<?php
// send data to braintree
if(/* payment goes through */) {
echo "0"; // echo error code 0 (no error) for JS
} else {
echo "1"; // echo error code 1 (error) for JS
// if you can get an error back from braintree,
// then you can add it here -- it will be sent
// back to JS and you can show it to the user
}
?>
,並假定你有JQuery的(JS),像這樣:
$("button").click(function() {
// manually send first form with AJAX
$.ajax({
url: "braintree.php",
method: "post",
asynch: false, // so that the second form waits for this request to finish
data: {
// put in all the data to send in the braintree file here
fname: $("#fname").val();
lname: $("#lname").val();
}
}).done(function(data) {
// data will be the response from "braintree.php"
if(data == "0") {
return true;
} else {
// if you have a more specific error, you can alert() it here
return false;
}
});
});
此代碼未經測試,請告訴我它是否無效。
你可以簡單地使用JS來做到這一點。 –
@ jlam55555可以理解,但我是web dev的新手,我不確定如何開始爲此編寫JS代碼。我試圖從教程中學習它,但是這個旅程是艱鉅的。所以我想我會在這裏問。你能否提供一個可以像使用「處理程序」的一般示例? – DarthVoid
你是否只用一次就可以獲得所有的信息? –