Salve a tutti!
Premetto che sono ancora alle prime armi con il js. Ho creato una funzioncina che mi controlla la presenza dei dati nei vari campi form e, se non presenti, mi dice con un alert in una sola volta (qui differisco dalle altre discussioni trovate..) tutti quelli ancora vuoti. Beh, in teoria funziona, cioè mi restituisce i campi che non riempio, ma purtroppo se li riempio tutti salta fuori l'alert dell'ultimo IF senza campi (giustamente... -.-'). Spero possiate dirmi dov'è che sbaglio.. La funzione in questione è questa:
function componenti(){
var vuoti=new Array();
var nome=document.modulo.nome.value;
var foto=document.modulo.foto.value;
var descrizione=document.modulo.descrizione.value;
var visual;
if(nome == "") {
vuoti[0] = " Nome componente";
}
if(!document.modulo.mod[0].checked &&
!document.modulo.mod[1].checked &&
!document.modulo.mod[2].checked &&
!document.modulo.mod[3].checked) {
vuoti[1] = " Modello di riferimento";
}
if(foto == ""){
vuoti[2] = " Immagine";
}
if(descrizione = "" || descrizione == "Inserisci qui le specifiche del componente"){
vuoti[3] = " Descrizione";
}
for(i=0; i<4; i++){
if (vuoti[i]!=""){
visual=vuoti.join(""); /*mi serve per visualizzare i campi dell'alert senza la virgola degli spazi vuoti (x es: Nome componente,,descrizione)*/
alert("Per continuare è necessario riempire i seguenti campi: "+visual);
return false;
}
return true; /*ho provato a mettere un altro if con controllo opposto, ma lo ignora comunque*/
}
}