How to validate a form with Date of Birth and Preferred Insurance information

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Marcia Samantha

    How to validate a form with Date of Birth and Preferred Insurance information

    Please help, I can't validate the Date of Birth and Preferred Insurance Field

    The JAVASCRIPT:

    Code:
    <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 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[i]);
        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 == '');
    }
    
    //-->
    </script>

    THE FORM:
    Code:
     <form method="POST" action="contactf1.asp">
       <p>Fields marked (*) are required
      </p>
       <table width="642" border="0">
         <tr>
           <td width="155">Full Name: (*) </td>
           <td width="296"><input type="text" name="Name"></td>
           <td width="177" rowspan="14">&nbsp;</td>
         </tr>
         <tr>
           <td>Date of Birth: (*) </td>
           <td><select name="DateOfBirth_Month">
    	<option> - Month - </option>
    	<option value="January">January</option>
    	<option value="Febuary">Febuary</option>
    	<option value="March">March</option>
    	<option value="April">April</option>
    	<option value="May">May</option>
    	<option value="June">June</option>
    	<option value="July">July</option>
    	<option value="August">August</option>
    	<option value="September">September</option>
    	<option value="October">October</option>
    	<option value="November">November</option>
    	<option value="December">December</option>
    </select>
    
    <select name="DateOfBirth_Day">
    	<option> - Day - </option>
    	<option value="1">1</option>
    	<option value="2">2</option>
    	<option value="3">3</option>
    	<option value="4">4</option>
    	<option value="5">5</option>
    	<option value="6">6</option>
    	<option value="7">7</option>
    	<option value="8">8</option>
    	<option value="9">9</option>
    	<option value="10">10</option>
    	<option value="11">11</option>
    	<option value="12">12</option>
    	<option value="13">13</option>
    	<option value="14">14</option>
    	<option value="15">15</option>
    	<option value="16">16</option>
    	<option value="17">17</option>
    	<option value="18">18</option>
    	<option value="19">19</option>
    	<option value="20">20</option>
    	<option value="21">21</option>
    	<option value="22">22</option>
    	<option value="23">23</option>
    	<option value="24">24</option>
    	<option value="25">25</option>
    	<option value="26">26</option>
    	<option value="27">27</option>
    	<option value="28">28</option>
    	<option value="29">29</option>
    	<option value="30">30</option>
    	<option value="31">31</option>
    </select>
    
    <select name="DateOfBirth_Year">
    	<option> - Year - </option>
    	<option value="2004">2004</option>
    	<option value="2003">2003</option>
    	<option value="2002">2002</option>
    	<option value="2001">2001</option>
    	<option value="2000">2000</option>
    	<option value="1999">1999</option>
    	<option value="1998">1998</option>
    	<option value="1997">1997</option>
    	<option value="1996">1996</option>
    	<option value="1995">1995</option>
    	<option value="1994">1994</option>
    	<option value="1993">1993</option>
    	<option value="1992">1992</option>
    	<option value="1991">1991</option>
    	<option value="1990">1990</option>
    	<option value="1989">1989</option>
    	<option value="1988">1988</option>
    	<option value="1987">1987</option>
    	<option value="1986">1986</option>
    	<option value="1985">1985</option>
    	<option value="1984">1984</option>
    	<option value="1983">1983</option>
    	<option value="1982">1982</option>
    	<option value="1981">1981</option>
    	<option value="1980">1980</option>
    	<option value="1979">1979</option>
    	<option value="1978">1978</option>
    	<option value="1977">1977</option>
    	<option value="1976">1976</option>
    	<option value="1975">1975</option>
    	<option value="1974">1974</option>
    	<option value="1973">1973</option>
    	<option value="1972">1972</option>
    	<option value="1971">1971</option>
    	<option value="1970">1970</option>
    	<option value="1969">1969</option>
    	<option value="1968">1968</option>
    	<option value="1967">1967</option>
    	<option value="1966">1966</option>
    	<option value="1965">1965</option>
    	<option value="1964">1964</option>
    	<option value="1963">1963</option>
    	<option value="1962">1962</option>
    	<option value="1961">1961</option>
    	<option value="1960">1960</option>
    	<option value="1959">1959</option>
    	<option value="1958">1958</option>
    	<option value="1957">1957</option>
    	<option value="1956">1956</option>
    	<option value="1955">1955</option>
    	<option value="1954">1954</option>
    	<option value="1953">1953</option>
    	<option value="1952">1952</option>
    	<option value="1951">1951</option>
    	<option value="1950">1950</option>
    	<option value="1949">1949</option>
    	<option value="1948">1948</option>
    	<option value="1947">1947</option>
    	<option value="1946">1946</option>
    	<option value="1945">1945</option>
    	<option value="1944">1944</option>
    	<option value="1943">1943</option>
    	<option value="1942">1942</option>
    	<option value="1941">1941</option>
    	<option value="1940">1940</option>
    	<option value="1939">1939</option>
    	<option value="1938">1938</option>
    	<option value="1937">1937</option>
    	<option value="1936">1936</option>
    	<option value="1935">1935</option>
    	<option value="1934">1934</option>
    	<option value="1933">1933</option>
    	<option value="1932">1932</option>
    	<option value="1931">1931</option>
    	<option value="1930">1930</option>
    	<option value="1929">1929</option>
    	<option value="1928">1928</option>
    	<option value="1927">1927</option>
    	<option value="1926">1926</option>
    	<option value="1925">1925</option>
    	<option value="1924">1924</option>
    	<option value="1923">1923</option>
    	<option value="1922">1922</option>
    	<option value="1921">1921</option>
    	<option value="1920">1920</option>
    	<option value="1919">1919</option>
    	<option value="1918">1918</option>
    	<option value="1917">1917</option>
    	<option value="1916">1916</option>
    	<option value="1915">1915</option>
    	<option value="1914">1914</option>
    	<option value="1913">1913</option>
    	<option value="1912">1912</option>
    	<option value="1911">1911</option>
    	<option value="1910">1910</option>
    	<option value="1909">1909</option>
    	<option value="1908">1908</option>
    	<option value="1907">1907</option>
    	<option value="1906">1906</option>
    	<option value="1905">1905</option>
    	<option value="1904">1904</option>
    	<option value="1903">1903</option>
    	<option value="1902">1902</option>
    	<option value="1901">1901</option>
    	<option value="1900">1900</option>
    </select>
    </td>
         </tr>
         <tr>
           <td>Address:</td>
           <td><input type="text" name="Address"></td>
         </tr>
         <tr>
           <td>Address 2: </td>
           <td><input type="text" name="Address2"></td>
         </tr>
         <tr>
           <td>Parish:</td>
           <td><input type="text" name="Parish"></td>
         </tr>
         <tr>
           <td>Post Code: </td>
           <td><input type="text" name="PostCode"></td>
         </tr>
         <tr>
           <td>Telephone:</td>
           <td><input type="text" name="Telephone"></td>
         </tr>
         <tr>
           <td>Email: (*) </td>
           <td><input type="text" name="EmailFrom"></td>
         </tr>
         <tr>
           <td rowspan="2">Preferred Insurance: (*) </td>
           <td><p>
              <input name="PreferredInsurance" type="checkbox" value="Argus">
              Argus 
              <input type="checkbox" name="PreferredInsurance" value="BFandM">
             BF&amp;M 
             <input type="checkbox" name="PreferredInsurance" value="Colonial">
             Colonial </p>
           </td>
         </tr>
         <tr>
           <td><input type="checkbox" name="PreferredInsurance" value="Freisenbruch &amp; Meyer ">
    Freisenbruch &amp; Meyer
    <input type="checkbox" name="PreferredInsurance" value="Other">
    Other </td>
         </tr>
         <tr>
           <td>If Other, please specify: (*) </td>
           <td><input type="text" name="IfOtherPleaseSpecify"></td>
         </tr>
         <tr>
           <td>Current License Plate Number: (*)</td>
           <td><input type="text" name="CurrentLicensePlateNumber"></td>
         </tr>
         <tr>
           <td>Vehicle:</td>
           <td><input type="url" name="Vehicle" style="width: 250px" value="http://www.peugeot.bm/107/default.asp"></td>
         </tr>
         <tr>
           <td><input type="reset" name="Reset" value="Reset">       
           <input name="submit" type="submit" onClick="MM_validateForm('Name','','R','EmailFrom','','R','CurrentLicensePlateNumber','','R');return document.MM_returnValue" value="Submit"></td>
           <td>&nbsp;</td>
         </tr>
       </table>
       <p>&nbsp;</p>
    Last edited by Dormilich; Oct 28 '10, 02:37 PM. Reason: please use [CODE] [/CODE] tags when posting code
  • gits
    Recognized Expert Moderator Expert
    • May 2007
    • 5390

    #2
    that looks like a dreamweaver-script, or any other macromedia-generated script? it is quite hard to say what fails ... does Firefox's error-console or firebug tell about any error that occurs? it could be that the MM_findObj() fails or any validation code ...

    and I strongly doubt that someone here really likes that MM-generated scripts - at least i would always suggest to not use them - most of them is just a mess to debug and fix. do you use the latest version of the generator-software? if not then first check for updates etc. ... since it is a commercial app that should be supported if there are bugs.

    Comment

    Working...