Hello again,
I now have the form set up to force the user to select the "Agree" button instead of the "Disagree" button, and (cool) they must select the "Agree" button before proceeding to complete the form. My problem now is the previous form validation isn't working (i.e. I can complete whatever fields I like, and click Submit successfully, witout having my error message pop up that says certain fields need to be completed). I'm not sure if the JS has affected the Check Form Validation extension (Dreamweaver) or not, but I don't imagine it should.
Here's what I have for my form validation since adding the JS to force clicking on the "Agree" radio button:
<FORM ACTION="http://www.vancondo.com/cgi-bin/FormMail.pl" method="post" name="Realtor Doc Request" target="new"onSubmit="return agree(); YY_checkform('Realtor Doc Request','Declaration[0]','#q','2','Please select either \'Agree\' or \'Disagree\'.','Declaration[1]','#Requestor_First_Name','2','Please select either \'Agree\' or \'Disagree\'.','Requestor_First_Name','#q','0','Please complete the Requestor\'s First Name.','Requestor_Last_Name','#q','0','Please complete the Requestor\'s Last Name.','Owner_First_Name','#q','0','Please complete the Owner\'s First Name.','Owner_Last_Name','#q','0','Please complete the Owner\'s Last Name.','Company_Name','#q','0','Please complete the Company Name.','Requestor_Phone','#q','0','Please complete the Requestor\'s Phone Number.','Strata_Lot','#1_999','1','Please complete the Strata Lot Number.','Suite','#q','0','Please complete the Suite Number.','Req_Pick_Up_Date','^\([0-9][0-9]\)\\-\([0-9][0-9]\)\\-\([0-9]{4}\)$#2#1#3','3','Please enter a valid date if RUSH charges apply \(MM-DD-YYYY\).','Bldg_Address','10','1','Please complete the Building Address.');return document.MM_returnValue">
And, here's the JS that the "Check Form" extension adds to my page:
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;
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=='');
}
Have I done something stupid, or would a total novice like me not have picked up on something that is making the "Check Form" validation not working?
Thx,
Monique