nel tag form della pagina htm ho : onsubmit="return verifica();"
function verifica() {
var cognome1 = document.forms[0].cognome;
if ((cognome1.value == "") || (cognome1.value.match(/[\d\+\?\"\&\;\/\\\.\*\!\$\)\(\=_,%]+/))) {
alert("Il cognome che hai inserito non e' valido");
cognome1.focus();
return false;
} else {
return nome();
}
}
function nome() {
var nome1 = document.forms[0].nome;
if ((nome1.value == "") || (nome1.value.match(/[\d\+\?\"\&\;\/\\\.\*\!\$\)\(\=_,%]+/))) {
alert("Il nome che hai inserito non e' valido");
nome1.focus();
return false;
} else {
return giorno();
}
}
function giorno() {
var giorno1 = document.forms[0].giorno;
if (isNaN(giorno1.value) || (giorno1.value > 31)) {
alert("Il giorno che hai inserito non e' corretto");
giorno1.focus();
return false;
} else {
return mese();
}
}
function mese() {
var mese1 = document.forms[0].mese;
if (isNaN(mese1.value) || (mese1.value > 12)) {
alert("Il mese che hai inserito non e' corretto");
mese1.focus();
return false;
} else {
return anno();
}
}
function anno() {
var anno1 = document.forms[0].anno;
if (isNaN(anno1.value)) {
alert("l'anno che hai inserito non e' corretto");
anno1.focus();
return false;
} else {
return email();
}
}
function email() {
var indEmail = document.forms[0].email;
var indEmail_regExp = /^([\w_\.\-])+\@(([\w\-]{2,})+\.)+([\w]{2,})+$/;
if (!indEmail_regExp.test(indEmail.value)) {
alert("L'email non e' corretta");
indEmail.focus();
return false;
indEmail.focus();
} else {
return ok();
}
}
function ok() {
alert("Form compilato correttamente");
return false;
}
quando invio il modulo mi compaiono gli alert corrispondenti all'errore, pero quando do' l'ok alla finestra dell'alert mi si cancellano tutti i valori dei campi, mi rimangono solo se l'errore é nel campo cognome o nel campo nome, se l'errore sta nel campo giorno o mese o anno, mi si resetta tutto.