buona sera ragazzi ho un problema con il codice java script per la validazione delle form di registrazione
In pratica se un utente mette un campo vuoto compare una scritta per segnalare l errore ma se successivamente l utente inserisce in modo giusto la stringa nella forma e in un altra non non risco a cancellare il messaggio di errore che e scritto di fianco alla form compilata correttamente
codice html:
codice java script:codice HTML:<!DOCTYPE html><html><head><meta charset="UTF-8"><title>REGISTRATI SU AMERICAN !</title><style>p{display :inline; color :red ;}</style> <script src="script/validation.js" type="text/javascript"></script> </head><body> <form name="reg" id="registrazione" method="post" onsubmit="return validateSubmit()" action ="ClienteControl"> Nome: <input type = "text" name = "nome" > <p id="mn"></p> <br> <br> Cognme: <input type = "text" name = "cognome"> <p id="mc"></p> <br> <br> Username: <input type = "text" name = "username" > <p id="mu"></p> <br> <br> Password: <input type = "password" name = "password" ><p id="mp"></p><br> <br> Email: <input type = "email" name = "email" > <p id="me"></p> <br> <br> Cellulare: <input type = "text" name = "cellulare" ><p id="mcell"></p> <br> <br> Sesso: <br> M:<input type = "radio" name = "sesso" value="M" > F:<input type = "radio" name = "sesso" value="F"> <p id="ms"></p> <br><br> Data Di Nascita : <br> GIORNO: <select name ="giorno"><option value="00"> </option><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option><option value="07">07</option><option value="08">08</option><option value="09">09</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> MESE: <select name ="mese"><option value ="00"> </option><option value="0">01</option><option value="1">02</option><option value="2">03</option><option value="3">04</option><option value="4">05</option><option value="5">06</option><option value="6">07</option><option value="7">08</option><option value="8">09</option><option value="9">10</option><option value="10">11</option><option value="11">12</option></select> ANNO: <select name ="anno"><option value ="00"> </option><option value="1936">1936</option><option value="1937">1937</option><option value="1938">1938</option><option value="1939">1939</option><option value="1940">1940</option><option value="1941">1941</option><option value="1942">1942</option><option value="1943">1943</option><option value="1944">1944</option><option value="1945">1945</option><option value="1946">1946</option><option value="1947">1947</option><option value="1948">1948</option><option value="1949">1949</option><option value="1950">1950</option><option value="1951">1951</option><option value="1952">1952</option><option value="1953">1953</option><option value="1954">1954</option><option value="1955">1955</option><option value="1956">1956</option><option value="1957">1957</option><option value="1958">1958</option><option value="1959">1959</option><option value="1960">1960</option><option value="1961">1961</option><option value="1962">1962</option><option value="1963">1963</option><option value="1964">1964</option><option value="1965">1965</option><option value="1966">1966</option><option value="1967">1967</option><option value="1968">1968</option><option value="1969">1969</option><option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option><option value="1973">1973</option><option value="1974">1974</option><option value="1975">1975</option><option value="1976">1976</option><option value="1977">1977</option><option value="1978">1978</option><option value="1979">1979</option><option value="1980">1980</option><option value="1981">1981</option><option value="1982">1982</option><option value="1983">1983</option><option value="1984">1984</option><option value="1985">1985</option><option value="1986">1986</option><option value="1987">1987</option><option value="1988">1988</option><option value="1989">1989</option><option value="1990">1990</option><option value="1991">1991</option><option value="1992">1992</option><option value="1993">1993</option><option value="1994">1994</option><option value="1995">1995</option><option value="1996">1996</option><option value="1997">1997</option><option value="1998">1998</option><option value="1999">1999</option><option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option><option value="2003">2003</option><option value="2004">2004</option><option value="2005">2005</option><option value="2006">2006</option> </select><p id="mdata"></p> <br><br><input type="submit" value="invia" > </form> <script > document.forms.reg.nome.focus(); </script></body></html>
codice:function validateSubmit() { var n = document.forms["reg"]["nome"].value; var co = document.forms["reg"]["cognome"].value; var u = document.forms["reg"]["username"].value; var p = document.forms["reg"]["password"].value; var e = document.forms["reg"]["email"].value; var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/; var t = document.forms["reg"]["cellulare"].value; var s = document.getElementsByName("sesso") var gg = document.forms["reg"]["giorno"].value; var mm = document.forms.reg.mese.value; var aa = document.forms["reg"]["anno"].value; var f=0; //codice per la validazione sesso var c = -1 for(var i=0; i < s.length; i++){ if(s[i].checked) { c = i; } } if (c == -1) { document.getElementById("ms").innerHTML = "IL SESSO E' OBLIGATORIO"; return false; } //codice per la validazione del nome else if (n == null || n == "") { document.getElementById("mn").innerHTML = "IL NOME E' OBLIGATORIO"; return false; } //codice per la validazione del cognome else if (co == null || co == "") { document.getElementById("mc").innerHTML = "IL COGNOME E' OBLIGATORIO"; return false; } //codice per la validazione del username (verificare che sia uunica) else if (u == null || u == "") { document.getElementById("mu").innerHTML = "L' USERNAME E' OBLIGATORIO"; return false; } //codice per la validazione password else if (p == null || p == "" ||p.length<=6) { document.getElementById("mp").innerHTML = "LA PASSWORD E' OBLIGATORIA E DEVE ESSERE DI ALMENO 6 CARATTERI"; return false; } //codice per la validazione email else if (!email_reg_exp.test(e) || (e == "") || (e == null)) { document.getElementById("me").innerHTML = "L' EMAIL DEVE ESSERE DEL TIPO aa@aa.aa"; return false; } //codice per la validazione cellulare else if (t == null || t == "" || (isNaN(t)) || t.length<9) { document.getElementById("mcell").innerHTML = "IL RECAPTO TELEFONICO DEVE ESSERE DI ALMENO 9 NUMERI"; return false; } //codice per la validazione della data else if ( gg=="00"||mm == "00"|| aa =="00"){ document.getElementById("mdata").innerHTML = "LA DATA E' OBLIGATORIO"; return false; } else if(mm==3 && gg ==31){ document.getElementById("mdata").innerHTML = "APRILE NON HA 31 GIORNI"; return false;} else if(mm==5 && gg ==31){ document.getElementById("mdata").innerHTML = "GIUGNO NON HA 31 GIORNI"; return false;} else if(mm==8 && gg ==31){ document.getElementById("mdata").innerHTML = "SETTEMBRE NON HA 31 GIORNI"; return false;} else if(mm==10 && gg ==31){ document.getElementById("mdata").innerHTML = "NOVEMBRE NON HA 31 GIORNI"; return false;} else if(mm==1 && gg >29){ document.getElementById("mdata").innerHTML = "FEBBRARIO NON HA NE 31 NE 30 GIORNI"; return false;} else if(mm==1 && gg ==29 && (aa%4!=0)){ document.getElementById("mdata").innerHTML = "QUEST ANNO NON E' BISESTILE"; return false;} else { document.getElementById("mn").innerHTML = ""; document.reg.submit(); } }

Rispondi quotando