将数组属性保留在会话中
Keep array attributes in a 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[]数组保留在会话中,这样当刷新页面时,更改仍然存在(表和复选框的特定单元格中的颜色更改)。我究竟该如何做到这一点?
最简单的方法是将这些参数与表单的其余部分一起发送到服务器,然后使用内联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中存储数组?
相关文章:
- 分派点击事件并保留击键修饰符
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 提交后保留下拉选择的值
- 刷新后保留对网页的更改
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 使用递归属性迭代保留属性结构
- 验证会话中是否存在对象's数组
- Jquery html() 和保留元素名称
- 如何将字符串拆分为字符,但在javascript中保留空格
- 离开页面导航后保留文本区域内容
- 如何在使用JavaScript或jQuery刷新父页面后保留iframe-src
- 通过javascript从会话中提取用户名
- 将会话变量从一个页面传递到另一个页面
- 如何保持会话的活力
- Codeigniter会话概念简要说明
- 创建在 ASP 会话中保留的弹出窗口
- “location.reload()” 丢失了开机自检/会话数据?(F5 / Ctrl + R保留数据?
- 将数组属性保留在会话中