如何使用javascript和Php清除购物车中的值


How to use javascript and Php to clear a cart of its values?

我创建了一个运行良好的购物车。

我在清理购物车时遇到问题,我想使用javascript来完成此操作。

我想使用一个按钮,这样当按下时,它会要求用户确认是否要清除它,如果按下ok,它就会被清除。

因此,我创建了php代码来清除我的购物车:

if (isset($_GET['cmd']) && $_GET['cmd'] == "emptycart") {
unset($_SESSION["cart_array"]);

当它被分配给一个链接时,它会清除购物车。例如:

<a href="cart.php?cmd=emptycart">Empty Cart</a>

不过我想把它改成一个按钮。

到目前为止,我有以下javascript代码来进行验证,但没有清除购物车。

<script language="javascript">
    function clear_cart(){
        if(confirm('Shopping cart will be cleared. Continue?')){
            document.form1.command.value='emptycart';
            document.form1.submit();
        }
}
</script>

按钮:

<input type="button" value="Clear Cart" onclick="clear_cart()">

所以我的问题是如何使用这个按钮并使用javascript或AJAX来清除这个问题。

谢谢!

这可以通过jQuery和AJAX轻松完成。

function clear_cart( ) {
    if( confirm( 'Shopping cart will be cleared. Continue?' ) ) {
        $.get( "cart.php?cmd=emptycart", function( data ) {
            alert( "Cart has been cleared!" );
        });
    }
}

有关.get()的更多信息,请访问此处:https://api.jquery.com/jQuery.get/

如果您不喜欢使用jQuery,这可能会有所帮助:http://blog.mgechev.com/2011/07/21/ajax-jquery-beginners/

你把事情搞得太复杂了。

<form method="get" action="">
    <input type="hidden" name="cmd" value="emptycart" />
    <input type="submit" name="empty_cart_submit" value="Empty Cart" onclick="return confirm('are you sure?');" />
</form>

对于无需重新加载页面的解决方案:

在主页中,您希望调用一个脚本来取消设置$_SESSION,但您可以使用ajax仅重新加载购物车本身,而不是重新加载页面。

假设你有一个文件,它是一个仅用于购物车内容的子视图,在你的主页面中调用,如

<div id="cart-contents">
    //with a function
    <?php echo get_cart_sub_view(); ?>
    //or with an inlude
    <?php include('cart_sub_view.php'); ?>
</div>

您可以使用jQuery加载在新的购物车内容中使用ajax。

您需要一个脚本来生成cart中的html,您可以通过ajax(即cart_sub_view.php)调用它

$_SESSION取消设置调用后,调用

$("#cart-contents").load(
    'cart_sub_view.php'
);

这将ajax到子视图页面,然后将其内容复制到购物车内容分区中。