Newsgroup: it.comp.lang.javascript
Titolo: Problema stranissimo , AIUTO!!!!!!!!!!!!

questo script mi da problemi,se inserisco solo l'indirizzo email e il resto
dei campi lo lascio bianco, dovrebbe postarmi la form...invece mi richiede
di inserire il cognome,non valutando la condizione "else if ((nomeutente !=
"") || (nomeutente != "undefined"))"
<script language="javascript">
function Modulo() {
//Variabile contenente l'espressione regolare x il controllo dell'email
var email_reg_exp =
/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
// Variabili associate ai campi del modulo
var mail = document.form1.mail.value;
var nomeutente = document.form1.nomeutente.value;
var cognomeutente = document.form1.cognomeutente.value;
var telutente = document.form1.telutente.value;
var nomeaz = document.form1.nomeaz.value;
var indaz = document.form1.indaz.value;
var cittàaz = document.form1.cittàaz.value;
var provaz = document.form1.provaz.value;
var capaz = document.form1.capaz.value;
var statoaz = document.form1.statoaz.value;
//se inserisco la mail,posso già postare la form
//altrimenti se inserisco il campo nome devo anche inserire i dati
successivi relativi all'utente
//stessa cosa x l'azienda,se lascio in bianco il nome,posso postare la
form,altrimenti devo inserire il resto
if (!email_reg_exp.test(mail) || (mail == "") || (mail == "undefined"))
{
alert("Inserire un indirizzo email corretto.");
document.form1.mail.select();
return false;
}
else if ((nomeutente != "") || (nomeutente != "undefined"))
{
if ((cognomeutente == "") || (cognomeutente == "undefined"))
{
alert("Il campo Cognome è obbligatorio.");
document.form1.cognomeutente.focus();
return false;
}
else if ((isNaN(telutente)) || (telutente == "") || (telutente ==
"undefined"))
{
alert("Il campo Telefono è numerico ed obbligatorio.");
document.form1.telutente.value = "";
document.form1.telutente.focus();
return false;
}
else if ((nomeaz != "") || (nomeaz != "undefined"))
{
if ((indaz == "") || (indaz == "undefined"))
{
alert("Il campo indirizzo è obbligatorio.");
document.form1.indaz.focus();
return false;
}
else if ((cittàaz == "") || (cittàaz == "undefined"))
{
alert("Il campo città è obbligatorio.");
document.form1.cittàaz.focus();
return false;
}
else if ((capaz == "") || (capaz == "undefined"))
{
alert("Il campo CAP è obbligatorio.");
document.form1.capaz.focus();
return false;
}
else if ((statoaz == "") || (statoaz == "undefined"))
{
alert("Il campo Stato è obbligatorio.");
document.form1.statoaz.focus();
return false;
};
else if (((provaz == "") || (provaz == "undefined")) && (statoaz ==
"Italy"))
{
alert("Il campo provincia è obbligatorio.");
document.form1.provaz.focus();
return false;
}
}
}
//INVIA IL MODULO
else
{document.form1.action = "prova_invio.php";
document.form1.submit();}
}
</script>
-- 
MB

 if ((nomeutente != "") || (nomeutente != "undefined"))
-- 
FastFede on WinMx
(eliminare NOSPAM dall'indirizzo)

 Se nomeutente e' vuoto (tuo caso) si controlla cognomeutente
Se nomecognome è CONTEMPORANEAMENTE diverso da "" e da "UNDEFINED"
..........
Lo sarà sempre, in quando se c'è scritto "UNDEFINED" non ci potrà essere
scritto "" => non ho letto tutto il sorgente, però qua ci va un and, non un
or (&&, non ||)
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M. --