Links

Lists

Latest Updates

Ruby On Rails List
Python list
Advanced Java
The JavaScript List
Apache Users
Full Disclosure
Linux Security

Search the archives!


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Javascript] Form with array like structure


  • From: jonathan.buchanan at gmail.com (Jonathan Buchanan)
  • Subject: [Javascript] Form with array like structure
  • Date: Sun Jul 23 16:31:42 2006

Peter Lauri wrote:
> Best groupmember,
> 
> I have a form that looks something like this:
> 
> <form>
> <input type="text" name="thename[]"/>
> <input type="text" name="thename[]"/>
> <input type="text" name="thename[]"/>
> </form>
> 
> In regular case, I can use document.getElementByName("thename").value to
> check the value of it, but how do I do now when one name has several. In PHP
> it is treated as an array, but how can I look thru this with JavaScript?
> 
> Best regards,
> Peter Lauri

Use the form's "elements" property to access fields by name like so:

     yourForm.elements["someName"]

If there is more than one field with the given name, you will get an 
Array-like structure back. Here's some sample code and output using the 
Javascript Shell bookmarklet [1] with Firefox to interact with a page 
containing the example form you gave, with "Cheese" typed into the first 
text field:

 >>> var form = document.forms[0];
 >>> form.elements["thename[]"]
[object NodeList]
 >>> form.elements["thename[]"].length
3
 >>> form.elements["thename[]"][0]
[object NodeList]
 >>> form.elements["thename[]"][0].value
Cheese

Jonathan.

[1] http://www.squarefree.com/shell/