Salve a tutti!
Intanto vi ringrazio già, se state leggendo questo post!
Avrei bisogno di una mano per capire perché il mio script non funziona...
ci sto sbattendo la testa da tutto il giorno e non so più che a santo votare..
In pratica è un banale script che mi fa un controllo sui campi di un form. La cosa divertente è che ha sempre funzionato...però poi ho aggiunto due blocchi di codice e ha smesso di andare in maniera normale...
In pratica non mi da il return per confermare la scelta dopo aver fatto il check e non aver riscontrato errori....
PS: la parte: if(error > 0)...... prima era collegata al return. Quindi:
if(error>0){ return false; } else { return confrim(); }
però così non andava!! Mi saltava completamente il finale...
Qualcuno mi aiuta a capire perché?? Grazie mille!!
Codice HTML:
function check_form(modulo){
if(modulo.name == "modulo"){
var error = 0;
for(var i=0;i<modulo.elements.length;i++){
var elemento = modulo.elements[i];
if(elemento.name == "numero"){
if(trim(elemento.value) == ""){ alert("Il campo del numero non puo' essere vuoto."); elemento.style.background = "red"; error++; }
else if(isNaN(elemento.value)){ alert("Il campo del numero deve contenere solo i numeri."); elemento.style.background = "red"; error++; }
else{ elemento.style.background = "green"; }
}
if(elemento.name == "rate"){
var oggetti_rate = elemento.value.split(",");
var quantita = modulo.quantita.value;
for(var f = 0;f<oggetti_rate.length;f++){
if(isNaN(oggetti_rate[f])){ alert('Uno dei valori della valutazione non e\' un numero ('+oggetti_rate[f]+' '+f+').'); elemento.style.background = "red"; error++; }
else if(oggetti_rate[f] > "5"){ alert('Uno dei valori della valutazione e\' maggiore di 5.'); elemento.style.background = "red"; error++; }
else if(oggetti_rate[f] < "0"){ alert('Uno dei valori della valutazione e\' minore di 0.'); elemento.style.background = "red"; error++; }
}
if(trim(elemento.value) == ""){ alert("Il campo sullo stato del fumetto non puo' essere vuoto."); elemento.style.background = "red"; error++; }
else if(oggetti_rate.length != quantita ){ alert("Stai mettendo un numero di valutazioni diverso rispetto ai fumetti dichiarati."); elemento.style.background = "red"; error++; }
else{ elemento.style.background = "green"; }
}
if(elemento.name == "quantita"){
var oggetti_rate = modulo.rate.value.split(",");
if(trim(elemento.value) == ""){ alert("Il campo della quantia' non puo' essere vuoto."); elemento.style.background = "red"; error++; }
else if(isNaN(elemento.value)){ alert("Il campo della qantita\' deve contenere solo i numeri."); elemento.style.background = "red"; error++; }
else if(oggetti_rate.length != elemento.value ){ alert("Gli numeri della valutazione sono di piu' rispetto alla quantita' di fumetti."); elemento.style.background = "red"; error++; }
else{ elemento.style.background = "green"; }
}
if(elemento.name == "prezzo"){
if(trim(elemento.value) == ""){ alert("Devi dare un prezzo al tuo fumetto."); elemento.style.background = "red"; error++; }
else{ elemento.style.background = "green"; }
}
if(elemento.name == "copertina"){
if(trim(elemento.value) == ""){ elemento.value = "http://"; elemento.style.background = "red"; error++; }
else{ elemento.style.background = "green"; }
}
if(error > 0){ return false; }
}
return confirm('Confermi la tua scelta?');
}
}