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 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 java script:
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();
}
}