We help IT Professionals succeed at work.
Get Started

Need some help with a javascript validation loop

saabStory
saabStory asked
on
280 Views
Last Modified: 2012-06-21
My apologies - I'm sure the answer it dead simple here but I've got a tight deadline and am having trouble with this validation and need some help.

Part of my form allows a person to add up to 10 volunteers and fill out their information too.  The additional volunteers are added one at a time.  The fields are named ldrFName1, ldrLName1, ldrFName2, ldrLName2, etc up to 10 (there's also address, city, zip, phone and all but I can extrapolate the rest).

I know I can loop through the fields and save a ton of hand coding but, so far, my feeble attempts aren't working for me.  I know I have to be building the dynamic field name wrong and although it is alerting correctly, the validation isn't stopping - so I know the field names are being recognized or I've got an error that I don't see.

I'm getting the count for the loop from a hidden field that is updated as additional volunteer fields are added or subtracted by the buttons that add a new volunteer or cancel one.

If I were just writing out the validation for a single field, it would look something like the attached code:

So if I have to loop it, how do I properly write the field names within the loop so they're picked up by the validation?

BTW, I'm not including any of the supporting functions for the validation but can if needed.

Thanks a lot in advance.

function validateForm(theForm){
	strMessage ='Please correct the following problem(s)!\n\n';
	var iErrorCount = 0;
	var f = document.theForm;


/*= VALIDATE LEADER FIRST NAME =*/
for (var i=0; i<f.ldrCounter.value; ++1) {
	if(notEmpty(f.ldrFName1.value)==false){
		strMessage = strMessage +"The first name of the leader is required.\n";
		if(iErrorCount ==0){
			f.ldrFName1.focus();
			f.ldrFName1.style.background = errorColor;
		}
		iErrorCount ++;
	} else {
		f.ldrFName1.style.background = backColor;
	}
}

	if (iErrorCount > 0){
		alert(strMessage);
		strMessage ='';
		iErrorCount =0;
		return false;
	}else{
	}
}

Open in new window

Comment
Watch Question
This problem has been solved!
Unlock 1 Answer and 2 Comments.
See Answer
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE