在会话中保留数组属性

时间:2013-02-13 18:07:07

标签: php javascript arrays session

我有这个javascript函数:

    for (var i = 0; i < c.length; i++) {
    if (c[i].type == 'checkbox' && c[i].checked==true){
        booked_seats[count]=c[i].id;
        c[i].parentNode.style.backgroundColor = "#F00";

        count++;

    }
}

在单击“提交”按钮时调用。我希望c []数组保存在一个会话中,因此当页面刷新时,更改仍然存在(表格的特定单元格和复选框中的颜色变化)。我怎么能做到这一点?

4 个答案:

答案 0 :(得分:0)

最简单的方法是将这些参数与表单的其余部分一起发送到服务器,然后将它们放回到带有内联PHP的表单中。

答案 1 :(得分:0)

有很多方法可以实现这个目标

  • HTML5支持本地存储,您可以在其中存储所需的所有内容。 I.e here

  • 您可以将值存储在可供php和javascript访问的Cookie中

  • 您可以将更改发送到服务器(即ajax)并在页面刷新后恢复它们

答案 2 :(得分:0)

我建议将所需数据附加到表单元素(隐藏或不隐藏)并在页面加载时检查值:

if ($_GET["x"])
$x = $_GET["x"];

if ($_GET["y"])
$x = $_GET["y"];

使用foreach可能效率更高,但现在将$ x放回原来的位置。

答案 3 :(得分:0)

在cookie中存储数组信息的最简单方法是使用jQuery和Cookie插件。

以下是包含源代码和示例用法的页面 - http://code.google.com/p/cookies/

此外,这是Stackoverflow的另一个问题,可以解答您的问题:How to store an array in a JavaScript cookie?