开发者

Hidden input field

I have an array with 8 elements defined within a script.

I'd like to know how I can pass all the values o开发者_运维知识库f this array to a single hidden element.

Pls help.

<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= ? >


you can join them with comma ','

$('#arrs').val(arr.join(','));


From the comments on the question itself

I will have to access this input hidden element in another js later on using document.forms.element(''). so thought it would be easier using a single element.

It would be easiest to not use any form element at all. Not sure why you want to take such a detour. You have a JavaScript variable, you can use that directly in "another script later on":

<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>


You can try like this:

<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" />

Hope this helps.


If the values are only strings or integers, you can try joining them with a seperator not present in your input:

document.getElementById("arrs").value = arr.join("###");

And you can do

myArr = document.getElementById("arrs").value.split("###");

To retreive that array back.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜