我有这个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[]数组保留在会话中,这样当刷新页面时,更改仍然存在(表和复选框的特定单元格中的颜色更改)。我究竟该如何做到这一点?
最简单的方法是将这些参数与表单的其余部分一起发送到服务器,然后使用内联PHP将它们放回表单中。
有很多方法可以实现这个
-
HTML5支持本地存储,您可以在其中存储所有想要的内容。I.e此处
-
您可以将值存储在cookie中,这些cookie可供php和javascript 访问
-
您可以将更改发送到服务器(即ajax),并在页面刷新后恢复它们
我建议将所需的数据附加到表单元素中(是否隐藏),并在页面加载时检查值:
if ($_GET["x"])
$x = $_GET["x"];
if ($_GET["y"])
$x = $_GET["y"];
使用foreach
可能更有效,但现在将$x放回它们所属的位置。
在cookie中存储数组信息的最简单方法是使用jQuery和cookie插件。
这是一个包含源代码和示例用法的页面-http://code.google.com/p/cookies/
此外,这里还有另一个关于Stackoverflow的问题,它回答了您的问题:如何在JavaScript cookie中存储数组?