我使用带有Jquery选项卡的页面,如果我在选项卡中提交其中一个表单,则只提交该选项卡并使用此jquery代码刷新:
$(document).on("submit", "#plaatsen_stap3", function(event) {
/* stop form from submitting normally */
event.preventDefault();
$.ajax({
type:"GET",
url:"../plaatsen_advertentie/plaatsen_advertentie_stap3.php",
cache: false,
data: $("#plaatsen_stap3").serialize(),
success:function(data){
$("#tab2").html(data);
}
});
});
但是在必须付款的情况下,我想用付款页面重新加载页面。我想在div重新加载数据之后这样做,因为我需要在数据库中放入一个支付行,其中包含来自GET的数据。位置是一种选择吗?如果我现在使用它,那么只有div(tab2)加载了付款页面....
所以: 1.push提交 2.通过Ajax提交表单并在div中加载页面/脚本 3.如果需要付款,请检查php脚本(在div内) 4.如果是,请在数据库中添加带有付款数据的行,并使用付款页面重新加载整个页面(在网址中有一些获取数据(最后插入的ID)
答案 0 :(得分:0)
success:function(data){
$("#tab2").html(data);
location.href = "/yourpage.php";
}
答案 1 :(得分:0)
既然您想在HTML生成后再做一次,那么请花一些时间,大约5秒钟?
success:function(data){
$("#tab2").html(data);
setTimeout(function(){location.href = "/yourpage.php";}, 5000);
}
这适用于您的用例。这不能从服务器端完成。
答案 2 :(得分:0)
我认为load()就是你要找的东西。 http://api.jquery.com/load/
以下代码旨在作为指导,我甚至不确定它是否有效(我还没有测试过)。但我希望它会有所帮助。
我会做这样的事情:
//Step 1
$(document).on("submit", "#plaatsen_stap3", function(event) {
/* stop form from submitting normally */
event.preventDefault();
$.ajax({
type:"GET",
url:"../plaatsen_advertentie/plaatsen_advertentie_stap3.php",
cache: false,
data: $("#plaatsen_stap3").serialize(),
success:function(data){
//Step 2 - submit the form and load page/script in div by Ajax
//Make sure array[] is an actual array that is sent to the test.php-script.
$("#tab2").load("test.php", { 'array[]' , function() {
//Step 3 - check in php script (within the div) if payment is needed (Do this from test.php - don't check the actual div but check values from array[])
//Step 4 - if yes,add row with payment data in database and reload entire page with payment page (with some Get data in the url (last inserted id)
//Do this from test.php and use header-redirect to reload entire page
$("tab2").html(data); //Do this when test.php is loaded
}
} );
}
});
});