0

この選択フォームの結果(add_cart.php?action=add&id=".$item[$i]['id'].")."を div にロードしたいのですが、ページに変数を渡しても、更新せずにページを div にadd_cart.phpロードしますが、ページにアクションを実行させます。add_cart.php?action=add&id=".$item[$i]['id']."

コード:

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 tutorialGoogleで入力するだけで見つかりました。

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>

ジャバスクリプト

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 に答える