我有一个在脚本中定义了8个元素的数组。
我想知道如何将此数组的所有值传递给单个隐藏元素。
请帮助。
<script ='text/javascript'>
function abc(){
var arr= new Array(8);
for (var i=0; i<8;i++)
{
arr[i]= ...;
}
</script>
<input type="hidden" id="arrs" name="arrs" value= ? >
答案 0 :(得分:1)
您可以使用逗号','
$('#arrs').val(arr.join(','));
答案 1 :(得分:1)
来自对问题本身的评论
我必须访问此输入 稍后在另一个js中隐藏元素 使用
document.forms.element('')
。所以 认为使用a会更容易 单个元素。
最简单的方法是不使用任何的表单元素。不知道为什么要绕道而行。你有一个JavaScript变量,你可以直接在“另一个脚本”中使用它:
<script type="text/javascript" id="firstScript">
function abc(){
var arr = [];
for (var i=0; i<8; i++) {
arr.push(...);
}
return arr;
}
var myArray = abc();
</script>
<!-- time passes, but we're still on the same page... -->
<script type="text/javascript" id="anotherScript">
doSomethingWith(myArray);
</script>
答案 2 :(得分:0)
您可以尝试这样:
<script>
function a(){
var arr= new Array(8);
for (var i=0; i<8;i++)
{
arr[i]= i;
}
document.getElementById('d').value = arr;
alert(document.getElementById('d').value);
}
</script>
<input id="d" type="hidden" />
<input type="button" onclick="javascript:a();" value="A" />
希望这有帮助。
答案 3 :(得分:0)
如果值只是字符串或整数,您可以尝试使用输入中没有的分隔符连接它们:
document.getElementById("arrs").value = arr.join("###");
你可以做到
myArr = document.getElementById("arrs").value.split("###");
重新检索该阵列。