在用户浏览表单时存储cookie
Store cookies as a user progresses through a form
我正在努力找出解决这一问题的最佳方法。我有一个表格,里面有一堆输入字段,例如名字、姓氏、地址等。我的问题是,当用户输入数据并浏览表格时,存储cookie的最佳方法是什么
我最初的想法是使用onchange事件并调用createcookie函数,但我担心的是,如果用户两次更改一个字段,即使它们以相同的名称传递,还会生成两个cookie吗?还是第一个同名的会被覆盖?
感谢
您真的需要为每个表单字段创建一个单独的cookie吗?您可以有一个方法来序列化整个表单,并将所有数据存储在cookie中。
使用jQuery,可以使用.serialize()方法:
http://api.jquery.com/serialize/
您还可以使用jquery cookie将数据存储在cookie中:
https://github.com/carhartl/jquery-cookie
根据使用情况,您可能不想要cookie。让我们知道您想做什么,我们将帮助您获得解决方案。在任何情况下:
您可以使用javascript创建和销毁cookie:http://www.w3schools.com/js/js_cookies.asp
要更新cookie,您需要删除cookie并重新创建它。
然而,我认为你可能不需要饼干您可以将所有数据存储在隐藏字段中,并在提交表单时发送或者使用ajax将它们发送到服务器,并让服务器将它们存储在会话中。
cookie以键值对的形式存储在用户的本地机器上,具有可选的过期期(cookie不再"有效"之前的时间)。
根据您的密钥命名选择,只要其值没有更改或已明确清除,它就会一直存在。
您可以使用onchange事件来完成此操作,只需使用表单字段ID作为键,并使用输入的文本作为值。
尽管使用jQuery将整个表单存储为cookie可能是一个更好的主意。
根据您的浏览器兼容性要求,您可能会考虑像本地存储这样的东西,而不是设置和重置cookie
https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage
或者,正如其他人所建议的,在一个cookie中序列化完整的表单。
通过一点实验,用document.cookie和name=value对创建一个cookie,然后用相同的名称和不同的值更新cookie并不会创建两个cookie,它实际上只是更新第一个。因此,我的onchange想法似乎运行良好。通过这些经验,我还发现本地document.cookies似乎无法在谷歌chrome上工作,但在mozilla firefox中运行得很好。
- 用于存储、检索和附加到url的javascript cookie
- 为什么大型网站不;I don’我更喜欢本地存储而不是cookie
- 将会话登录页存储在cookie中以进行表单解析(通过隐藏字段)
- 使用 Cookie 存储数据
- 如何将jQuery克隆的文本输入保存到cookie或html5存储中
- Javascript Security:将敏感数据存储在比cookie更安全的自调用函数中
- 为样式表切换器存储js cookie
- 使用纯js在cookie中存储多个值
- 如何在Javascript的跨域操作中存储cookie
- 通过javascript存储cookie
- 使用滑动存储cookie以删除jquery mobile
- 在用户浏览表单时存储cookie
- 在服务器上存储 Cookie 数据
- 如何在 socket.io 中存储cookie(socket.handshake.headers.cookie)
- 函数获胜't存储cookie
- 当你在iOS的主屏幕上添加一个web应用程序时,你就不能再存储cookie了
- 使用ETag在浏览器中存储cookie信息
- Phonegap/Javascript应用程序:我如何存储cookie
- 本地存储cookie会回退
- Javascript Cookie代码未存储Cookie/读取空Cookie值