Solved

Looping through form objects with the same name in JS

Posted on 2011-02-16
5
176 Views
Last Modified: 2012-05-11
I am using JS for validating user input.  The amount of lineitems that appear depend on the # of recors in the DB.  If I have more than 1 record my code works becuae I loop through the name of that textbox and i (in brackets of course).  ]The problem is when there is one record-only one text box.  Js doesn't create an array so textboxname 0 is null.  I assumed that if there is one textbox it would have 0as its index.  How can  I code for this scenario?  thanks
0
Comment
Question by:JSCF
  • 3
  • 2
5 Comments
 
LVL 16

Accepted Solution

by:
jmatix earned 250 total points
ID: 34909127
Use the loop only if textbox.length is defined else use textbox.value to get the only element's value.

if (document.forms[0].textbox.length)
//loop
else
val = document.forms[0].textbox.value;
0
 

Author Comment

by:JSCF
ID: 34909182
OK, but I was wondering about this because I have another page where users can add records.  If there is an error in user input.  It returns that one record-I loop through it in a very similar way and I do not get an error that time even though there is one textbox with that name on the page-wht is that?
0
 
LVL 16

Expert Comment

by:jmatix
ID: 34909500
I can't say why it is happening. Generally the rule of the thumb is if you have multiple elements with the same name you get a collection otherwise you get a single element.
0
 

Author Comment

by:JSCF
ID: 34909662
Is this common practice to allow for these two scenarios and basically repeat the code twice-when validating with JS?
0
 
LVL 16

Assisted Solution

by:jmatix
jmatix earned 250 total points
ID: 34909891
Yes, it is safest to do so. Or you should think of giving different names for the text boxes like textbox1, textbox2, etc.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now