HighDots Forums  

Passing an Array to a form field

Javascript JavaScript language (comp.lang.javascript)


Discuss Passing an Array to a form field in the Javascript forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Mike
 
Posts: n/a

Default Passing an Array to a form field - 10-17-2008 , 11:54 AM






Hello,
I am trying to pass a js array ,Round1[],
to a form and send it. I can get it to work with serialized values but
I want to send the data as an array.
The arrays are filled with data. I am getting an error.

in the JS:
document.forms['aJaX'].Result1[].value = Round1[];
document.forms['aJaX'].Result2[].value = Round2[];
document.forms['aJaX'].Result3[].value = Round3[];
document.forms['aJaX'].Result4[].value = Round4[];
document.forms['aJaX'].Region.value = Region;
document.forms['aJaX'].submit();}

In The Form
<form name="aJaX" method="POST" action="saveteams.php"
style="position:absolute" >
<input type="hidden" name="Result1[]" value="" >
<input type="hidden" name="Result2[]" value="" >
<input type="hidden" name="Result3[]" value="" >
<input type="hidden" name="Result4[]" value="" >
<input type="hidden" name="Region" value="" >
</form>

Thanks
Mike

Reply With Quote
  #2  
Old   
Martin Honnen
 
Posts: n/a

Default Re: Passing an Array to a form field - 10-17-2008 , 12:00 PM






Mike wrote:
Quote:
Hello,
I am trying to pass a js array ,Round1[],
to a form and send it. I can get it to work with serialized values but
I want to send the data as an array.
The arrays are filled with data. I am getting an error.

in the JS:
document.forms['aJaX'].Result1[].value = Round1[];
document.forms['aJaX'].Result2[].value = Round2[];
document.forms['aJaX'].Result3[].value = Round3[];
document.forms['aJaX'].Result4[].value = Round4[];
document.forms['aJaX'].Region.value = Region;
document.forms['aJaX'].submit();}

In The Form
form name="aJaX" method="POST" action="saveteams.php"
style="position:absolute"
input type="hidden" name="Result1[]" value=""
You are using the bracket notation at the wrong place.
document.forms['aJaX']
can be written as
document.forms.aJaX
but
document.forms['aJaX'].Result2[]
is not possible, there you need bracket notation, either
document.forms['aJaX']['Result2[]']
or
document.forms['aJaX'].elements['Result2[]']

And those right hand sides like
document.forms['aJaX'].Result2[].value = Round2[];
are also not syntactically correct, if the variable name is Round2 then
you need
document.forms['aJaX'].elements['Result2[]'] = Round2;
or as you say that is an array and you want to assign it as the form
control value you might want
document.forms['aJaX'].elements['Result2[]'] = Round2.join(',');

--

Martin Honnen
http://JavaScript.FAQTs.com/


Reply With Quote
  #3  
Old   
SAM
 
Posts: n/a

Default Re: Passing an Array to a form field - 10-17-2008 , 07:41 PM



Le 10/17/08 5:54 PM, Mike a écrit :
Quote:
Hello,
I am trying to pass a js array ,Round1[],
??? why to call it Something[] ? (name + brackets)
isn't it only : Something ?

Quote:
to a form and send it. I can get it to work with serialized values but
I want to send the data as an array.
The arrays are filled with data. I am getting an error.

in the JS:
Round1 = ['apple','lemon','pear'];

Quote:
document.forms['aJaX'].Result1[].value = Round1[];
no !

document.forms['aJaX']['Result1[]'].value = Round1;

document.forms['formName'].elements['elementName']

or in short way :
document.formName.elementName
but that doesn't work if the element's name is Name[]
(if the name has '[]')

here the name of the element is 'Round1[]'
so to call this element :
document.forms['aJax'].elements['Result1[]']

What is Round1[] in ...value = Round1[] ?

--
sm


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.