QUESTION:
If I have multiple forms with identical form field names on the same page, how can I validate them individually? Or, better yet, how do I pass the form field name to the JS and only validate that particular form?
SCENARIO:
I have a form within a PHP function that is included on the page as a blank form for new entries AND ALSO is dynamically recreated with the fields filled out from past entries (so that they can be edited).
Each form has a unique form id and name (i.e. form1, form2, etc.)
Each form has the following:
<form action="mypage.php" method="post" name="Unique_name" id="Unique_id" onSubmit="JavaScript:MM_validateForm('name','','R');return document.MM_returnValue"
My javascript is as follows (Dreamweaver generated):
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
WHAT IS HAPPENING:
As it is now, when I try to edit one of the forms that have been dynamically filled in, I get the alert window because I have the same fields in an identical empty form on the same page.
If I have multiple forms with identical form field names on the same page, how can I validate them individually? Or, better yet, how do I pass the form field name to the JS and only validate that particular form?
SCENARIO:
I have a form within a PHP function that is included on the page as a blank form for new entries AND ALSO is dynamically recreated with the fields filled out from past entries (so that they can be edited).
Each form has a unique form id and name (i.e. form1, form2, etc.)
Each form has the following:
<form action="mypage.php" method="post" name="Unique_name" id="Unique_id" onSubmit="JavaScript:MM_validateForm('name','','R');return document.MM_returnValue"
My javascript is as follows (Dreamweaver generated):
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
WHAT IS HAPPENING:
As it is now, when I try to edit one of the forms that have been dynamically filled in, I get the alert window because I have the same fields in an identical empty form on the same page.