ciao a tutti,
sto utilizzando questo codice per la verifica dei dati inseriti nel form che poi invierà una mail, avrei necessità di implementare la verifica della corrispondenza email tra il campo email e conferma email, attualemnte lo script verifica la presenza e la correttezza dell'indirizzo inserito.
Ecco il codice che utilizzo:
<script type="text/javascript">
function checkFields(){
var errore = false;
var messaggio = "";
// variabili per i campi con testo predefinito
// var defnome = "Nome";
var defcognome = "Cognome";
var defemail = "Email";
var defemail2 = "Conferma Email";
var defcellulare = "Cellulare";
var defmq = "Metri quadrati totali";
var defbagni = "Numero bagni";
var defpiano = "Piano";
var deflocalita = "Località";
// variabili relative ai campi della form
// var nome = document.getElementById("nome").value;
var utente = document.getElementById("utente")
var cognome = document.getElementById("cognome").value;
var disponibilita = document.getElementById("disponibilita")
var email = document.getElementById("email").value;
var email2 = document.getElementById("email2").value;
var cellulare = document.getElementById("cellulare").value;
var mqtotali = document.getElementById("mq").value;
var nbagni = document.getElementById("bagni").value;
var piano = document.getElementById("piano").value;
var localita = document.getElementById("localita").value;
var tipologia2 = document.getElementById("tipologia2")
var terrazzo = document.getElementById("terrazzo")
var balcone = document.getElementById("balcone")
var box = document.getElementById("box")
if (utente.checked == false){
errore = true;
messaggio += "Il campo utente è obbligatorio!\n";
}
if (cognome == defcognome || trim(cognome) == ''){
errore = true;
messaggio += "Il campo cognome è obbligatorio!\n";
}
if (cellulare == defcellulare || trim(cellulare) == ''){
errore = true;
messaggio += "Il campo cellulare è obbligatorio!\n";
}
if (disponibilita.checked == false){
errore = true;
messaggio += "Il campo disponibilità è obbligatorio!\n";
}
if (email == defemail || trim(email) == ''){
errore = true;
messaggio += "Il campo email è obbligatorio!\n";
} else {
if (isEmail(email) == false){
errore = true;
messaggio += "L\'email specificata non è valida!\n";
}
}
if (email2 == defemail2 || trim(email2) == ''){
errore = true;
messaggio += "Il campo conferma email è obbligatorio!\n";
} else {
if (isEmail(email2) == false){
errore = true;
messaggio += "L\'email specificata non è valida!\n";
}
}
if (mqtotali == defmq || trim(mqtotali) == ''){
errore = true;
messaggio += "Il campo mq è obbligatorio!\n";
}
if (nbagni == defbagni || trim(nbagni) == ''){
errore = true;
messaggio += "Il campo bagni è obbligatorio!\n";
}
if (piano == defpiano || trim(piano) == ''){
errore = true;
messaggio += "Il campo piano è obbligatorio!\n";
}
if (localita == deflocalita || trim(localita) == ''){
errore = true;
messaggio += "Il campo località è obbligatorio!\n";
}
// controllo sulla select
if (tipologia2.selectedIndex == 0){
errore = true;
messaggio += "Non hai specificato la tipologia!\n"
}
if (terrazzo.selectedIndex == 0){
errore = true;
messaggio += "Non hai specificato il terrazzo!\n"
}
if (balcone.selectedIndex == 0){
errore = true;
messaggio += "Non hai specificato il balcone!\n"
}
if (box.selectedIndex == 0){
errore = true;
messaggio += "Non hai specificato il box!\n"
}
// se non ci sono errori si invia la form altrimenti appaiono i messaggi di errore
if (!errore){
document.dati.submit();
} else {
alert(messaggio);
}
}
// funzione che toglie gli spazi vuoti prima e dopo un testo
function trim(stringa){
while (stringa.substring(0,1) == ' '){
stringa = stringa.substring(1, stringa.length);
}
while (stringa.substring(stringa.length-1, stringa.length) == ' '){
stringa = stringa.substring(0,stringa.length-1);
}
return stringa;
}
// funzione che verifica se una stringa è formattata come un indirizzo email
function isEmail(argvalue){
if (argvalue.indexOf(" ") != -1)
return false;
else if (argvalue.indexOf("@") == -1)
return false;
else if (argvalue.indexOf("@") == 0)
return false;
else if (argvalue.indexOf("@") == (argvalue.length-1))
return false;
var retSize = customSplit(argvalue, "@", "arrayString");
if (arrayString[1].indexOf(".") == -1)
return false;
else if (arrayString[1].indexOf(".") == 0)
return false;
else if (arrayString[1].charAt(arrayString[1].length-1) == ".") {
return false;
}
return true;
}
// funzione che crea un array da una stringa
function customSplit(strvalue, separator, arrayName) {
var n = 0;
if (separator.length != 0) {
while (strvalue.indexOf(separator) != -1) {
eval("arr"+n+" = strvalue.substring(0, strvalue.indexOf(separator));");
strvalue = strvalue.substring(strvalue.indexOf(separator)+sep arator.length,strvalue.length+1);
n++;
}
eval("arr" + n + " = strvalue;");
arraySize = n+1;
} else {
for (var x = 0; x < strvalue.length; x++) {
eval("arr"+n+" = \"" + strvalue.substring(x, x+1) + "\";");
n++;
}
arraySize = n;
}
eval(arrayName + " = new makeArray(arraySize);");
for (var i = 0; i < arraySize; i++)
eval(arrayName + "[" + i + "] = arr" + i + ";");
return arraySize;
}
// idem come sopra...
function makeArray(IntarrSize){
for (var n = 0; n < IntarrSize; n++)
this[n] = "";
return this;
}
</script>
E' possibile implementare questa corrispondenza?
Vi ringrazio per l'aiuto,
elisa