javascript - Don't submit unless all data is entered -


i have function registration page if data required isn't entered user alerts user fill in. form still submits information though not sure i'm doing wrong. want not submit until data submitted , correct.

function checkdetails() {     if (document.form1.txtname.value == "")     {alert("please fiill in forename.");     }     if (document.form1.txtsurname.value == "")     {alert("please fill in surname.");     }     if (document.form1.txtusername == "")     {alert("please create username.");     }     if (document.form1.dobday.selectedindex == 0)     {alert("please select day born.");     }     if (document.form1.dobmonth.selectedindex == 0)     { alert("please select month born");     }     if (document.form1.dobyear.selectedindex == 0)     {alert("please fill in year born.");     }     if (document.form1.txtemail.value == "")     {alert("please enter e-mail address.");     }     if (document.form1.terms.checked == false)     {alert("please tick have read terms , conditions.");     } } 
<form action="home.html" method="post" name="form1" onsubmit="display()">   <table bgcolor="white" width="700" border="0" align="center">   <col width="200">   <col width="200">       <tr>     <th colspan = "2" align = "center" bgcolor="grey"> fill form sign up. </th>     </tr> <tr>     <td>&nbsp;</td>     </tr>       <tr>     <td colspan="2" style="font-size:12px">fields marked * mandatory</td>     </tr>       <tr>     <td>&nbsp;</td>     </tr>       <tr>       <td>forename*</td>       <td>surname*</td>     </tr>       <tr>       <td><label>         <input type="text" name="txtname" id="txtname" class="info" />       <td><label>         <input type="text" name="txtsurname" id="txtsurname" class="info" />       </label></td>     </tr>      <tr>     <td> create username*</td>     <td> birthday</td>     </tr>      <tr>     <td><label>     <input type="text" name="txtusername" id="txtusername" class="info"/>     </label></td>         <td><select name="dobmonth">     <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="dobday">     <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="dobyear">     <option> year </option>     <option value="2016">2016</option>     <option value="2015">2015</option>     <option value="2014">2014</option>     <option value="2013">2013</option>     <option value="2012">2012</option>     <option value="2011">2011</option>     <option value="2010">2010</option>     <option value="2009">2009</option>     <option value="2008">2008</option>     <option value="2007">2007</option>     <option value="2006">2006</option>     <option value="2005">2005</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">1998</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> </select>         <tr>       <td>email*</td>       <td>confirm email*</td>     </tr>       <tr>       <td><label>         <input type="text" name="txtemail" id="txtemail" class="info" onchange="validateemail(txtemail)" />       <td><label>         <input type="text" name="txtemail2" id="txtemail2" class="info" onchange="validateemail2(txtemail2)"/>       </label></td>     </tr>       <tr>       <td>password*</td>       <td>confirm pasword*</td>     </tr>       <tr>       <td><label>         <input type="password" name="txtpassword" id="txtpassword" class="info"/>       <td><label>         <input type="password" name="txtpassword2" id="txtpassword2" class="info"/>       </label></td>     </tr>       <td colspan="2" style="font-size:12px">**passwords must @ least 8 characters in lenght.</td>     </tr>      <tr>     <td>&nbsp;</td>     </tr>         <tr>       <td colspan="2">         <label>           <input type="checkbox" name="terms" value="terms" id="terms" />           agree terms , conditions</label>         </td></tr>         <br><br><br>         <tr>         <td colspan="2"><label>           <input type="checkbox" name="notify" value="notify" id="notify" />           want receive notifications text/email new products in stock.</label>           </td>     </tr>       <tr>     <td>&nbsp;</td>     </tr>       <tr>     <td><label>       <input type="submit" name="login" id="login" value="login" onclick="checkdetails()" />     </label></td>     <td><label>       <input type="reset" name="reset" id="reset" value="reset" />     </label></td>   </tr>      <tr>     <td>&nbsp;</td>     </tr>   </table> </form> 

it's better use html5 attribute required !

<input type="text" name="input" required > 

Comments

Popular posts from this blog

Django REST Framework perform_create: You cannot call `.save()` after accessing `serializer.data` -

Why does Go error when trying to marshal this JSON? -