0

我想(add_cart.php?action=add&id=".$item[$i]['id'].")."将此选择表单的结果加载到 div 中,但仍将变量传递给页面将add_cart.php页面加载add_cart.php?action=add&id=".$item[$i]['id']."到 div 中而不刷新但让页面执行操作。

编码:

print("<div id='add_cart'></div>
    <form action='/add_cart.php?action=add&id=".$item[$i]['id']."' method='post'>
        <select name='id' class='select'>
            <option selected='selected' value='".$sku[$s]['id']."'>".$sku[$s]['id']."</option>
            <option value='".$sku[$s]['id']."'>".$sku[$s]['id']."</option>
        </select>
        <input type='submit' class='add_cart' value='".$lang['add_cart']."'>
    </form>
");

add_cart 代码:

    session_start();
    if(isset($_POST['id'])) {
$id = $_POST['id'];
}else{
$id = $_GET['id'];
}
$id_user = $_GET['id_user'];


    $cart = $_SESSION['cart_order'];
    $action = $_GET['action'];

    switch ($action) {
case 'add':
    if ($cart) {
        $cart .= ','.$id;
    } else {
        $cart = $id;
    }
    break;
case 'delete':
    if ($cart) {
        $items = explode(',',$cart);
        $newcart = '';
        foreach ($items as $item) {
            if ($id != $item) {
                if ($newcart != '') {
                    $newcart .= ','.$item;
                } else {
                    $newcart = $item;
                }
            }
        }
        $cart = $newcart;
    }
    break;
case 'update':
if ($cart) {
    $newcart = '';
    foreach ($_POST as $key=>$value) {
        if (stristr($key,'qty')) {
            $id = str_replace('qty','',$key);
            $items = ($newcart != '') ? explode(',',$newcart) :        explode(',',$cart);
            $newcart = '';
            foreach ($items as $item) {
                if ($id != $item) {
                    if ($newcart != '') {
                        $newcart .= ','.$item;
                    } else {
                        $newcart = $item;
                    }
                }
            }
            for ($i=1;$i<=$value;$i++) {
                if ($newcart != '') {
                    $newcart .= ','.$id;
                } else {
                    $newcart = $id;
                }
            }
        }
    }
}
$cart = $newcart;
break;

}

4

1 回答 1

0

您应该搜索 Ajax。它让您“无需重新加载整个页面”即可实现这一目标并使您的生活更轻松,您可以在某些框架(jQuery、Prototype、Mootools、Dojo、Yui)中进行中继,这是一些最受欢迎的,我的建议是使用 jQuery,因为是最受欢迎的,我认为它很容易使用。

你也可以看看这个教程http://www.php4every1.com/tutorials/jquery-ajax-tutorial/

发现只是在谷歌上打字php and ajax tutorial

http://jsfiddle.net/nQBjW/

HTML

<select name='id' class='select'>
    <option value="some value">some value</option>
</select>
<div id='add_cart' style='background:#f60; color:#fff; font-family:arial; max-width:120px; text-align:center; display:block; padding:5px; border-radius:5px; cursor:pointer'>agregar al carro</div>

JAVASCRIPT

var makeAjax = function () {
    $.ajax({
        url: "/echo/json/", //'/add_cart.php?action=add&id=".$item[$i]['id ']."' replace with you url on your server
        type: "POST",
        data: {
            some: "data"
        }
    }).done(function (resp) {
        alert(resp);
    });
};

$("#add_cart").on("click", function (event) {
    makeAjax();   
});
于 2013-04-23T13:59:15.923 回答