我正在用PHP构建购物卡丁车。此时用户将点击“添加到购物车”按钮添加项目。然后该按钮将运行一个单独的PHP脚本以将项目保存在购物车中,然后用户返回到购物页面。所有用户看到的是页面向后滚动到屏幕顶部。
在php中是否有一种方法可以保存页面向下滚动的距离,然后在重新加载页面时设置它,以便用户看到页面没有更改...谢谢
答案 0 :(得分:1)
必须使用一些javascript在浏览器中完成。从var top = window.scrollTop
提交之前获取该位置并将其传达给服务器(或存储在cookie中),然后在加载时调用window.scrollTo(top)
以恢复位置。
答案 1 :(得分:0)
从它的声音来看,我认为你最好使用AJAX将产品提交到购物车。这样,用户点击链接,您可以弹出一条消息,在保存后更改购物车总数,用户无需完全重新加载页面。
如果您正在使用jQuery,则以下内容应该起作用:(未经过测试)
$('.add-to-cart').click(function(){
$.ajax({
url:'cart.php?product=' + sku,
success:function(){
// Change the cart total and pop a message here
}
});
});
答案 2 :(得分:0)
不使用AJAX:
<强> browse.php:强>
<form action="cart.php" method="POST">
<div id="product_12345">
<!-- Product Info -->
<button name="add_item" type="submit" value="12345">Add To Cart</button>
</div>
<div id="product_12346">
<!-- Product Info -->
<button name="add_item" type="submit" value="12346">Add To Cart</button>
</div>
</form>
<强> cart.php:强>
<?php
if (isset($_POST['add_item'])) {
// code to add product to cart
header('Location: /browse.php#product_' + (int)$_POST['add_item']);
}
?>