传递多维javascript数组到另一个页面
pass multidimensional javascript array to another page
我有一个多维数组,就像这样
- [0]字符串
- [1] ->[0]字符串,字符串[1],[2]字符串
- [2]字符串
- [3]字符串
- [4] ->[0]字符串,字符串[1],[2][3]字符串的字符串,字符串[4],[5]信息
(I hope that make sense)
其中[1]和[4]本身就是数组,我可以像myArray[4][5]那样访问INFO。
嵌套数组([1]和[4])的长度可以变化。
我使用这个方法在一个相当复杂的表单中存储、计算和分发数据。
不是所有存储在数组中的数据都被发送到一个输入字段,所以当表单的post方法被调用时,并不是所有的数据都被发送到下一页。
我希望在下一页中以与第一页相同的方式访问数组。
思想:
方法1:
我想我可以将所有数据加载到隐藏字段中,发布所有内容,然后在第二页获取这些值并将它们全部加载回数组,但这将需要超过100个隐藏字段。
方法2:我想我也可以使用.join()将整个数组连接成一个字符串,将其加载到一个输入中,发布它,并使用.split(",")将其分解回来。但是如果我这样做,我不确定如何处理它的多维方面,这样我仍然可以访问INFO像myArray[4][5]在第2页。
我将使用Javascript访问数组,在第1页输入的值将在第2页使用php访问。
我的问题是是否有更好的方法来完成我需要的或我如何设置上面提到的方法2 ?
这解决了我的问题:
var str = JSON.stringify(fullInfoArray);
sessionStorage.fullInfoArray = str;
var newArr = JSON.parse(sessionStorage.fullInfoArray);
alert(newArr[0][2][1]);
如果可能的话,您可以使用sessionStorage
来存储使用JSON.stringify()
的对象的字符串表示:
// store value
sessionStorage.setItem('myvalue', JSON.stringify(myObject));
// retrieve value
var myObject = JSON.parse(sessionStorage.getItem('myvalue'));
注意,sessionStorage
有存储的上限;我相信它大约有2.5MB,所以你不应该轻易点击它。
将数据保存在PHP会话中,并在提交表单时更新会话中的数据。您生成的每个页面都可以使用这些数据生成。
或
如果您使用的是现代浏览器,请使用HTML5 localStorage。
或
你可以继续做你正在做的事情:)
- 如何从另一个带下划线的数组中筛选带元素的数组
- 如何使一个Math.random数组元素比另一个数组元素更有可能被选中
- 将值从for循环(在另一个for循环中)JavaScript中推送到数组
- Javascript:OnChange事件,将数组变量传递给另一个函数
- 如何在另一个函数调用中设置全局数组值
- 如何将LatLng对象与数组中的另一个对象进行比较
- 如何将从另一个文件接收的数组分配给另一个数组
- 如何将数据从一个表导入另一个表(使用数组)
- 如果我知道另一个值,请在多维数组中查找一个值
- 如何按一个仍保持字母顺序的特性值(另一个特性值)对关联数组进行排序
- 将键/值数组中的对象与另一个对象(键/值)进行比较
- 引用函数数组中的另一个函数
- 嗨,我正试图将我的movieprice数组从复选框值传递给另一个计算选择总数的函数,但我的代码没有;t运行
- 我可以'没有找到使用Javascript和HTML将数组的值发送到另一个页面的方法
- 在包含两个的Javascript数组中选择另一个元素
- 如何检查一个数组的值是否与另一数组的值不相等
- 相位P2物理.如何在与另一个碰撞组碰撞时杀死组中的子弹(精灵)
- 在另一个选项组中选择2个清除项目
- 如何使用Javascript和Ajax传递一个HTML选择标签到PHP $_POST与一个(数组)var当名称属性是一个
- 按钮上单击显示另一个按钮组