我有一个表格发布到购物车.php页面,提交表单后它会重定向到购物篮.php页面并返回订单页面(表单所在的页面)。 它发生得很快,但您仍然可以看到购物篮页面一秒钟,我如何阻止表单显示购物篮.php页面,但仍刷新当前页面(订单页面)。
我的代码:
<?php
echo '<div class="food">';
echo '<form method="post" action="basket.php"
onsubmit="window.location.reload()" >';
echo '<h4>'.$obj->food_title.'</h4>';
echo '<div class="pic"><img src="admin/food_images/'.$obj->food_image.'"
width= "180" height= "160"></div>';
echo "<p><b>£".$obj->food_price."</b></p>";
echo '<div class = "btn"><a href="info.php?foo_id='.$obj->food_id.'"
style="float:left">INFO</a></div>';
echo '<div class = "add_b"><button>Add to Basket</button></div>';
echo '<input type="hidden" name="food_code"
value="'.$obj->food_id.'" />';
echo '<input type="hidden" name="type" value="add" />';
echo '</form>';
echo '</div>';
?>
从购物篮中剪切代码.php并将其粘贴到主页顶部,前面是
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//basket.php code here
}
然后,将表单代码更改为
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
这将刷新页面并执行页面顶部的 php 代码。
嗨,
这是一个简单的 ajax 表单提交文件,试试这个,
索引.html:
<!DOCTYPE html>
<html>
<title>AJAX Tutorial</title>
<head>
<link href="css/bootstrap.css" type="text/css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-2.1.3.js"></script>
</head>
<body>
<div class="container">
<form id="add-basket-form" class="form-inline">
<div class="form-group">
<label class="sr-only" for="exampleInputAmount">Name</label>
<div class="input-group">
<input type="text" class="form-control" id="name" name="name" placeholder="name">
</div>
</div>
<div class="form-group">
<label class="sr-only" for="exampleInputAmount">Age</label>
<div class="input-group">
<input type="text" class="form-control" id="age" name="age" placeholder="age">
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="submit" class="form-control" name="add" value="Add" placeholder="age">
</div>
</div>
</form>
</div>
<script>
jQuery(function(){
$('#add-basket-form').submit(function(){
var name = $('#name').val();
var age = $('#age').val();
$.ajax({
url : 'basket.php',
dataType : 'JSON',
type : 'post',
data: {
'name' : name,
'age' : age,
},
success: function(data) {
console.log(data);
}
});
return false;
});
});
</script>
</body>
</html>
<?php
$name = $_POST['name'];
$age = $_POST['age'];
// Above is the way to get variables and you can process whatever you want
echo 'success';
?>
也许这会有所帮助。包含各种答案,有些涉及使用绝对网址 提交表单后刷新页面
要阻止操作简要显示购物车页面,我不确定您是否可以阻止访问该页面。购物篮.php在屏幕上打印任何东西吗?我认为它只是为了处理传入的 POST 变量,然后转到您的订单页面,对吧?