Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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_Arrays_Serialization - Fatal编程技术网

将带有JavaScript的数组发送到下一页

将带有JavaScript的数组发送到下一页,javascript,arrays,serialization,Javascript,Arrays,Serialization,声明数组、向数组中添加元素和将方法应用于字符串的组合方法不起作用。基本上,我在文档的html部分输入一到五个文本变量值之间的某个数字:fontVorto1、fontVorto2、fontVorto3。 当我决定将剩余的textelements保留为空时,我单击一个按钮,通过以下函数将它们分配给一个数组: function difinNombroFv () { var fontVortoj = new array(); fontVortoj[0] = document.getEle

声明数组、向数组中添加元素和将方法应用于字符串的组合方法不起作用。基本上,我在文档的html部分输入一到五个文本变量值之间的某个数字:fontVorto1、fontVorto2、fontVorto3。 当我决定将剩余的textelements保留为空时,我单击一个按钮,通过以下函数将它们分配给一个数组:

function difinNombroFv () {
    var fontVortoj = new array();
    fontVortoj[0] = document.getElementsByName("fontVorto1")[0].value;
    fontVortoj[1] = document.getElementsByName("fontVorto2")[0].value;
    fontVortoj[2] = document.getElementsByName("fontVorto3")[0].value;
……………….
然后把它们放在一个字符串中:

x = fontVortoj.toString();
document.getElementsByName("fontVorto")[0].value = x; 
不需要额外的变量x,就可以将它们发送到下一个文档,在那里我要使用

$fontVortoj = unserialize($_POST["fontVorto"]);
我通过插入一个alertx测试了toString方法,但结果是,对于x,我只得到了FontVort01的值。 我遇到了JSON、jQuery等解决方案,但我从未使用过这些语言,只有HTML、JavaScript和PHP


我的圣诞节会因为这个简单的问题而被破坏吗;>

显然我一开始就误解了这个问题

要序列化错误,可以使用.join

默认情况下,它将为您提供由逗号连接的值

要反序列化,请使用.split

如果值中可能有逗号,请选择一个更复杂的字符串进行连接:

var ar = ["a", "b"];
var serialized = ar.join("|"); // "a|b"

var deserialized = serialized.split("|"); //["a", "b"]
用于连接和拆分的字符串可以任意长

如果您想完全覆盖任何值,那么需要查看JSON.stringify&JSON.parse。但这存在浏览器兼容性问题。

需要注意以下几点: 1.var fontVortoj=新数组。这里的新数组不正确。应该是:

var fontVortoj = new Array();
现在,如果调用fontVortoj.toString,它将转换数组并返回一个字符串,其中数组元素用逗号分隔

可以使用explode函数从php中的字符串重建数组

您可以使用split函数从javascript中的字符串重建数组。
事实上应该很清楚,如果我理解你的话,我已经按照你的建议把所有元素都变成了一种形式。使数组成为字符串的函数是toString,而unserialize函数则相反。但我想问题在于toString。@user2772060你是对的。我显然误解了这个问题。但我已经更新了我的答案。我想这就是你所需要的。对于那些搜索我的代码中除了数组而不是数组之外的错误没有用的人,我感到很抱歉。我发现这个错误是因为数组只包含一个元素,其他变量没有被填充,这是因为一个非常麻烦的if-if-else-if-else等树。让我说:这只是一个初学者的问题!