Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 页面刷新后保存表单状态_Javascript_Jquery_Forms_Serialization_Cookies - Fatal编程技术网

Javascript 页面刷新后保存表单状态

Javascript 页面刷新后保存表单状态,javascript,jquery,forms,serialization,cookies,Javascript,Jquery,Forms,Serialization,Cookies,我有一个复选框列表 如果在用户提交表单之前刷新了页面,我希望保留复选框(选中或未选中)的状态 Ie:用户选择选项1、选项4和选项5。页面刷新,选项1、选项4和选项5保持选中状态 我曾经考虑过序列化然后储存一块饼干,但我就是不能把我的脑袋放在它上面 任何帮助都将不胜感激。当用户选择此选项时,您可以将数据存储在cookie中(您可以使用) $('#select_element').change(function() { $.cookies.set('check_box', $(this).val

我有一个复选框列表

如果在用户提交表单之前刷新了页面,我希望保留复选框(选中或未选中)的状态

Ie:用户选择选项1、选项4和选项5。页面刷新,选项1、选项4和选项5保持选中状态

我曾经考虑过序列化然后储存一块饼干,但我就是不能把我的脑袋放在它上面


任何帮助都将不胜感激。

当用户选择此选项时,您可以将数据存储在cookie中(您可以使用)

$('#select_element').change(function() { $.cookies.set('check_box', $(this).val()); }); $(“#选择_元素”)。更改(函数(){ $.cookies.set('复选框',$(this.val()); }); 当您加载页面时,请选中“将数据放入”复选框

$(document).ready(function() { if ((check = $.cookies.get('check_box')) != '') { $('#select_element').val(check); } }); $(文档).ready(函数(){ if((check=$.cookies.get('check_框'))!=“”){ $(“#选择_元素”).val(检查); } });
但是我没有测试它。

如果您的所有访问者碰巧都使用现代浏览器,那么您可以使用会话存储。

是什么原因导致页面在未提交的情况下刷新?这部分可能不在您的控制之下吗?您的服务器端语言是什么?我认为最简单的方法是使用AJAX调用将数据存储在会话中(除非必须,否则不要制作cookie)。这是一种出于美观目的的受控刷新。如果选中复选框,则css类将应用于父级
  • 我正在使用php Kerry。我想知道bennedich。
    sessionStorage
    如何像javascript对象一样工作,只要窗口保持不变(或直到手动删除数据),它就会在请求之间持续存在。Javascript示例:
    sessionStorage.varName=3。它至少可以在chrome、firefox和safari中使用。谢谢你的建议。我刚试过你的代码,但似乎不起作用。我不知道我是否做错了?我只是创建了:$('#porchia').change(function(){$.cookies.set('check#box',$(this.val());})$(document).ready(function(){if((check=$.cookies.get('check#box'))!=''{$('porchia').val(check);}});链接到复选框的ID。我选中了复选框,然后按F5刷新页面,复选框消失了。很抱歉,此代码仅适用于选项表单标记,如果要使用复选框,请使用:$(document).ready(function(){if($.cookies.get('check_box')){$('check_box')。attr('checked','true');}else{$('check#box')。removeAttr('checked')}$(“#复选框”)。单击(function(){$.cookies.set('check#box',$(this.attr('checked');});)和html