动态创建的表单元素值不会进入PHP中的$ _POST

时间:2012-09-17 04:34:34

标签: php jquery forms dynamic

我根据编号创建了一些动态文本框和值。用户选择的购物车物品。没有。购物车项目存储在cookie中,我正在尝试执行以下操作:

1)得到号码。来自名为cartcounter的cookie的购物车项目 2)创建名为itemkey_skey的“cartcounter”no文本框,其中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/"
    }
});​

1 个答案:

答案 0 :(得分:1)

我已经解决了。问题是我在循环中调用了submit函数。我通过这样做解决了这个问题:

$(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/"
    }
});​