PDA

View Full Version : Need form validation help


Cynthia
09-04-2002, 07:13 PM
I am attaching a form (html) in hopes someone can tell me how to validate (with Javascript) the two selection lists within it on submission. I have been able to validate all other fields on the form except these two. The selection lists are named "account" and "market". I have tried until I'm pulling my hair out. If your willing to help me out - I would really appreciate it. Thanks so much.

Cynthia
Dallas, Texas

<HTML>
<HEAD>
<TITLE>Accessibility Survey</TITLE>
<SCRIPT>

function validate() {
mNv=Accessibility.CSRName.value;
if (mNv=='') {
alert('CSR name is required');
event.returnValue=false;

}
mNv=Accessibility.DATE.value;
if (mNv=='') {
alert('Date required');
event.returnValue=false;

}

mNv=Accessibility.PtName.value;
if (mNv=='') {
alert('Pt name required');
event.returnvalue=false;
}

mNv=Accessibility.PtID.value;
if (mNv=='') {
alert('Pt ID required');
event.returnvalue=false;
}

mNv=Accessibility.DOB.value;
if (mNv=='') {
alert('Pt DOB required');
event.returnvalue=false;

}

if (!(Accessibility.TYPE[0].checked || Accessibility.TYPE[1].checked)) {
alert('Select either MD or Therapist.');
event.returnValue=false;

}

if (!(Accessibility.OFFERED[0].checked || Accessibility.OFFERED[1].checked)) {
alert('Was appointment offered?');
event.returnvalue=false;
}
if (!(Accessibility.SATISFIED[0].checked || Accessibility.SATISFIED[1].checked)) {
alert('Was Pt. satisfied?');
event.returnvalue=false;
}
}

</SCRIPT>
</HEAD>
<BODY TEXT="NAVY" BGCOLOR="#C6EFF7">
<H6>MAGELLAN BEHAVIORAL HEALTH<BR>Dallas Regional Service Center<BR>
Accessibility of Services Form</H6>
<CENTER><B><FONT SIZE="4">ACCESSIBILITY OF SERVICES SURVEY TOOL<BR>Please complete <U><FONT COLOR="red">all
</FONT></U> sections then click the submit button.</FONT></B></CENTER>
<FORM NAME="Accessibility" METHOD="post" ENCTYPE="text/plain"
ACTION="mailto:caberry@magellanhealth.com" onsubmit="validate();">
<TABLE WIDTH="100%" BORDER=1 BORDERCOLORDARK="WHITE" BORDERCOLORLIGHT="NAVY" ALIGN="CENTER">
<TR>
<TD WIDTH="60%"><B>CSR Name </B><INPUT TYPE="TEXT" NAME="CSRName" SIZE="45"></TD>
<TD WIDTH="40%"><B>Date (mm/dd/yy)</B> <INPUT TYPE="TEXT" NAME="DATE" SIZE="20"></TD>
</TR>
</TABLE>

<TABLE width="100%" align=center BORDER=1 BORDERCOLORDARK="WHITE" BORDERCOLORLIGHT="NAVY">
<TBODY>
<TR>
<TD VALIGN="TOP"><B>Account:</TD>
<TD><SELECT NAME=Account onBlur="CheckOther();">
<OPTION VALUE="Aetna"><B><FONT SIZE="3">Aetna</B>
<OPTION VALUE="Amcare"><B>Amcare</B>
<OPTION VALUE="BCBSTX"><B>BCBSTX</B>
<OPTION VALUE="BlueLincs"><B>BlueLincs</B>
<OPTION VALUE="CHIP"><B>CHIP</B>
<OPTION VALUE="HMOBlue"><B>HMOBlue</B>
<OPTION VALUE="HMOBlue Medicaid"><B>HMOBlue Medicaid</B>
<OPTION VALUE="Humana"><B>Humana</B>
<OPTION VALUE="Prudential"><B>Prudential</B>
<OPTION VALUE="Superior"><B>Superior</B>
</SELECT></TD>

<TD VALIGN="TOP"><B>Market:</TD>
<TD><SELECT NAME=Market>
<OPTION><B><FONT SIZE="3">N/A</B>
<OPTION><B>All</B>
<OPTION><B>Austin</B>
<OPTION><B>Corpus Christi</B>
<OPTION><B>Dallas</B>
<OPTION><B>Houston</B>
<OPTION><B>Kansas City</B>
<OPTION><B>Oklahoma</B>
<OPTION><B>San Antonio</B>
<OPTION><B>Texas</B>
</TR>

</TR></TBODY></TABLE>
<TABLE width="100%" align=center BORDER=1 BORDERCOLORDARK="WHITE" BORDERCOLORLIGHT="NAVY">

<TR>
<TD><FONT size=2><B>Patient Name:&nbsp;<INPUT name=PtName></B></FONT></TD>
<TD><FONT size=2><B>Patient ID/SS #:&nbsp;<INPUT size=12
name=PtID></B></FONT></TD>
<TD><FONT size=2><B>City:&nbsp;<INPUT size=12 name=City></B></FONT></TD>
<TD><FONT size=2><B>DOB:&nbsp;<INPUT size=13
name=DOB></B></FONT></TD></TR></TABLE>
<TABLE width="100%" align=center BORDER=1 BORDERCOLORDARK="WHITE" BORDERCOLORLIGHT="NAVY"
<TR ALIGN="CENTER">
<TD ALIGN="CENTER"><B>Please Select One: <INPUT TYPE="RADIO" NAME="TYPE" VALUE="MD"><B>M.D.</B>
<INPUT TYPE="RADIO" NAME="TYPE" VALUE="THERAPIST"><B>Therapist</B></TD>
</TR>
<TR>
<TD><FONT SIZE="2"><B>We ask that our Providers offer an appointment within 10 days of your
request for an appointment. Was an appointment offered within 10 days?
<INPUT TYPE=RADIO NAME=OFFERED VALUE=YES>Yes <INPUT TYPE=RADIO NAME=OFFERED
VALUE=NO>No</TD>
</TR>
<TR>
<TD><FONT SIZE="2"><B>Were you satisfied with the time it took for you to get an appointment?
<INPUT TYPE=RADIO NAME=SATISFIED VALUE=YES>Yes <INPUT TYPE=RADIO
NAME=SATISFIED VALUE=NO>No</TD>
</TABLE>
<BR>
<INPUT TYPE="SUBMIT" VALUE="Submit"> <INPUT TYPE="RESET" VALUE="Reset" NAME="RESET">
<A HREF="home page.htm"><IMG SRC="homebutton.gif" BORDER="0"></A>
</FORM>
</BODY>
</HTML>

JoeP
09-04-2002, 09:20 PM
Add Selected Values To Two Fields:


<option selected value="Select Account">Select Account</option>

<option selected value="Select Market">Select Market</option>



Add Functions:


function checkAccount() {
var error = "";
if (Accessibility.Account.value=="Select Account") {
error = "Valid Account Is Required";
alert(error)
}
}

function checkMarket() {
var error = "";
if (Accessibility.Market.value=="Select Market") {
error = "Valid Market Is Required";
alert(error)
}
}






Add Calls to Validate:


function validate() {

checkAccount()
checkMarket()

adios
09-04-2002, 11:25 PM
Well...you've got some sloppy coding in there that hinders proper testing. Like:

1) No closing </select> tag on one of the drop-downs. This breaks it in some browsers.
2) No closing </option> tags - and no option values on the second select
3) A function (CheckOther()) unspecified

Fix these - and try this:

<SCRIPT>

function no_good(msg, field) {
alert(msg); field.focus(); if (field.select) field.select();
return false;
}

function validate(f) {
if (!f.CSRName.value) return no_good('CSR name is required.',f.CSRName);
if (!f.DATE.value) return no_good('Date required.',f.DATE);
if (!f.PtName.value) return no_good('Pt name required.',f.PtName);
if (!f.PtID.value) return no_good('Pt ID required.',f.PtID);
if (!f.DOB.value) return no_good('Pt DOB required.',f.DOB);
if (!f.TYPE[0].checked && !f.TYPE[1].checked)
return no_good('Select either MD or Therapist.',f.TYPE[0]);
if (!f.OFFERED[0].checked && !f.OFFERED[1].checked)
return no_good('Was appointment offered?',f.OFFERED[0]);
if (!f.SATISFIED[0].checked && !f.SATISFIED[1].checked)
return no_good('Was Pt. satisfied?',f.SATISFIED[0]);
if (!f.Account[f.Account.selectedIndex].value)
return no_good('Please select an account.',f.Account);
if (!f.Market[f.Market.selectedIndex].value)
return no_good('Please select a market.',f.Market);
else return true;
}

</SCRIPT>
.................
<FORM NAME="Accessibility" METHOD="post" ENCTYPE="text/plain"
ACTION="mailto:caberry@magellanhealth.com" onsubmit="return validate(this)">
................


<TD><SELECT NAME=Account onBlur="CheckOther();">
<OPTION SELECTED="selected">select</OPTION>
<OPTION VALUE="Aetna"><B><FONT SIZE="3">Aetna</B></OPTION>
<OPTION VALUE="Amcare"><B>Amcare</B></OPTION>
.....................
</SELECT></TD>

<TD VALIGN="TOP"><B>Market:</TD>
<TD><SELECT NAME=Market>
<OPTION SELECTED="selected">select</OPTION>
<OPTION value="?"><B><FONT SIZE="3">N/A</B></OPTION>
<OPTION value="?"><B>All</B></OPTION>
...................
</SELECT>