1

いいえに従って、いくつかの動的テキストボックスと値を作成しました。ユーザーが選択したカート アイテムの数。いいえ。のカート項目が Cookie に保存されており、次のことをしようとしています:

1) 番号を取得します。という名前の Cookie からのカート項目のcartcounter
数 2) 'cartcounter' という名前のテキスト ボックスを作成しますitemkey_skey。ここitemkeyで、 はユーザー カート内の各項目のハッシュ キーです。
3) フォームを送信する
4) php で選択した項目のキーを取得する

cartcounterこれで、異なる値を持つテキスト ボックスの数を作成できます。

しかし問題は、PHP の $_POST で最初のテキスト ボックスの値しか取得できないことです。動的に作成されたフォーム要素のすべての値を取得したいと思います。

コード:

$(document).ready(function() {
    if (getCookie("cartcounter") != 0) {
        $("#counter").val(getCookie("cartcounter"));
        for (var i = 1; i <= cartcounter; i++) {

            var ckey = getCookie(i + "_skey");
            var element = document.createElement("input");
            alert("Element=" + element);
            element.setAttribute("type", "text");
            element.setAttribute("value", ckey);
            element.setAttribute("name", "skey_" + ckey);
            var foo = document.getElementById("itmbox");
            foo.appendChild(element);
            $("#frm").submit();
        }
    }
    else {
        alert('Your cart is empty , please choose your product');
        window.location = "http://synergiadigital.com/restaurant2/orderFood.php/"
    }
});​
4

1 に答える 1

1

私はそれを解決しました。問題は、ループ内で送信関数を呼び出していたことです。私はそれを解決しました:

$(document).ready(function() {
    if (getCookie("cartcounter") != 0) {
        $("#counter").val(getCookie("cartcounter"));
        for (var i = 1; i <= cartcounter; i++) {

            var ckey = getCookie(i + "_skey");
            var element = document.createElement("input");
            alert("Element=" + element);
            element.setAttribute("type", "text");
            element.setAttribute("value", ckey);
            element.setAttribute("name", "skey_" + ckey);
            var foo = document.getElementById("itmbox");
            foo.appendChild(element);

        }
        $("#frm").submit();
    }
    else {
        alert('Your cart is empty , please choose your product');
        window.location = "http://synergiadigital.com/restaurant2/orderFood.php/"
    }
});​
于 2012-09-17T04:39:01.353 に答える