Good morning. I am a complete newbie so if I am putting this in the wrong place please let me know. I am not a web developer. I have been asked to work on a web form at work and I am struggling through it.

I did the form in html.....that was not hard. Now I am doing validation on some of the fields with a javascript example that I got from a former co-worker. I am just tweaking it to make it work with my form. I have all the fields validated successfully except for the checkboxes. My current co-worker is going to take the info and send it in an e-mail using .asp. He told me to name all the checkbox fields the same thing to make his part easier. The problem is my validation method does not like duplicate names so this is not working. There are probably other ways to validate but I would like to stay with this method if possible since it works for all the other fields and since I am very green at this stuff.

I have included all my pertinent code below. Any help is appreciated.




Javascript




<script language="JavaScript" type="text/JavaScript">
<!--

function MM_findObj(n, d) { //v4.01
var p,i,x;
if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p); }

if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);

if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function YY_checkform() { //v4.71
//copyright (c)1998,2002 Yaromat.com
var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;

for (i=1; i<a.length;i=i+4) {

if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
o=MM_findObj(a[i].replace(/\[\d+\]/ig,""));
o1=MM_findObj(a[i+1].replace(/\[\d+\]/ig,""));
v=o.value;t=a[i+2];


if (o.type=='text'||o.type=='password'||o.type=='hidden')
{
if (r&&v.length==0){err=true}
if (v.length>0)
if (t==1){ //fromto
ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
}
else if (t==2){
rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
}

else if (t==3){ // date
ma=a[i+1].split("#");at=v.match(ma[0]);
if(at){
cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
dte=new Date(cy,cm,cd);
if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
}else{err=true}
}

else if (t==4){ // time
ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
}

else if (t==5){ // check this 2
if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
if(!o1.checked){err=true}
}

else if (t==6){ // the same
if(v!=MM_findObj(a[i+1]).value){err=true}
}

} else

if (!o.type&&o.length>0&&o[0].type=='radio'){
at = a[i].match(/(.*)\[(\d+)\].*/i);
o2=(o.length>1)?o[at[2]];
if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
if (t==2){
oo=false;
for(j=0;j<o.length;j++){oo=oo||o[j].checked}
if(!oo){s+='* '+a[i+3]+'\n'}
}
}
else if (o.type=='checkbox'){
if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
}
else if (o.type=='select-one'||o.type=='select-multiple'){
if(t==1&&o.selectedIndex/1==0){err=true}
}
else if (o.type=='textarea'){
if(v.length<a[i+1]){err=true}
}
if (err){s+='* '+a[i+3]+'\n'; err=false}

}
if (s!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+s)}
document.MM_returnValue = (s=='');

}
//-->
</script>






Form statement




<form action="SAR Form_Confirm.asp" method="post" name="form1"
onSubmit="YY_checkform('form1','Submitted By:','#q','0','Submitter name is required'
,'Date:','#q','0','You must enter a date'
,'Date:','^\([0-9]{2}\)\/\([0-9]{2}\)\/\([0-9]{4}\)$#2#1#3','3','Date is required in MM/DD/YYYY format'
,'Cost Center:','#q','1','Select what cost center you are from'
,'Activity Type','#q','1','Select at least one activity'
,'Customer Name(s):','#q','1','Enter the customer name(s)'
,'Account Number(s):','#q','0','Enter the customer account number(s)'
,'Detailed Description of Suspicious Activity','2','1','Enter a description of the suspicious activity'
,'Describe Customer Identification Documents','2','1','Describe the customer identification documents');return document.MM_returnValue">







HTML for checkboxes



<tr><td><br><input type="checkbox" name="Activity Type" value="Bank Secrecy Act/Structuring/Money Laundering"> Bank Secrecy Act/Structuring/Money Laundering</td>
<td><br><input type="checkbox" name="Activity Type" value="Elder Financial Exploitation"> Elder Financial Exploitation</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Bribery/Gratuity"> Bribery/Gratuity</td>
<td><input type="checkbox" name="Activity Type" value="Embezzlement"> Embezzlement</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Check Fraud"> Check Fraud</td>
<td><input type="checkbox" name="Activity Type" value="False Statement"> False Statement</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Check Kiting"> Check Kiting</td>
<td><input type="checkbox" name="Activity Type" value="Misuse of Position/Self Dealing"> Misuse of Position/Self Dealing</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Commercial Loan Fraud"> Commercial Loan Fraud</td>
<td><input type="checkbox" name="Activity Type" value="Mortgage Loan Fraud"> Mortgage Loan Fraud</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Computer Intrusion"> Computer Intrusion</td>
<td><input type="checkbox" name="Activity Type" value="Phishing Scam"> Phishing Scam</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Consumer Loan Fraud"> Consumer Loan Fraud</td>
<td><input type="checkbox" name="Activity Type" value="Wire Transfer Fraud"> Wire Transfer Fraud</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Counterfeit Check"> Counterfeit Check</td>
<td><input type="checkbox" name="Activity Type" value="Terrorist Financing"> Terrorist Financing</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Counterfeit Credit/Debit Card"> Counterfeit Credit/Debit Card</td>
<td><input type="checkbox" name="Activity Type" value="Unauthorized Online access"> Unauthorized Online access</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Counterfeit Instrument (other)"> Counterfeit Instrument (other)</td>
<td><input type="checkbox" name="Activity Type" value="Identity Theft"> Identity Theft</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Credit Card Fraud"> Credit Card Fraud</td>
<td><input type="checkbox" name="Activity Type" value="OFAC Match"> OFAC Match</td></tr>

<tr><td> <input type="checkbox" name="Activity Type" value="Debit Card Fraud"> Debit Card Fraud</td>
<td><input type="checkbox" name="Activity Type" value="Other"> Other</td></tr>