如何将数组文本框存储在 cookie 或本地存储中?

Posted

技术标签:

【中文标题】如何将数组文本框存储在 cookie 或本地存储中?【英文标题】:How to store array text box in cookie or local storage? 【发布时间】:2017-09-19 06:14:25 【问题描述】:

我想在 cookie 或本地存储中存储一组文本框值,以便下次用户登录时,他可以看到他的旧值

include('connect.php');
$id = $_GET['ex_id'];

$query = "SELECT * FROM workout_exercise WHERE plan_id = $id";

$res = mysqli_query($con,$query);

$ic = 0;

while($row = mysqli_fetch_array($res))

?>

    <input type="text" name="weight[<?php echo $ic++; ?>]" 
           id="weight[<?php echo $ic++; ?>]" 
           placeholder="enter weight">

       ......

以上是用于生成文本框数组的 PHP 代码。

【问题讨论】:

【参考方案1】:

JSON 对数组进行编码,有效地生成像“data:'value',data1:'value1'”这样的字符串,您可以将其放入 cookie 中,您可以在需要时检索并解码回 javascript 数组/对象.

示例 - 将数组存储在 cookie 中:

var arr = ['foo', 'bar', 'baz'];
var json_str = JSON.stringify(arr);
createCookie('mycookie', json_str);
Later on, to retrieve the cookie's contents as an array:

var json_str = getCookie('mycookie');
var arr = JSON.parse(json_str);

你可以从这里How to write & read from cookies获取cookies的方法

【讨论】:

以上是关于如何将数组文本框存储在 cookie 或本地存储中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将编辑的数据存储在本地存储中?

什么是cookie文件?它有什么用?存储在哪?

本地存储

如何解决我的本地存储登录问题?

在 ExtJs 中本地过滤组合框远程存储

如何保存cookie?望详细解释.