Buongiorno a tutti,
premetto che sono un autodidatta ed anche alle prime armi nell'utilizzo di javascript...
Dovendo validare un modulo ho inserito e adattato un javascript che effettua alla perfezione il suo compito nei campi TEXT e SELECT. In fondo al modulo ci sono tre RADIO e un CHECKBOX che sto tentando di validare con lo stesso sistema ma il risultato testando la pagina è un alert sia che io spunti o meno il campo. Qualcuno mi sa dare una dritta? Grazie
Ecco il codice:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Richiesta catalogo</title>
<script language="javascript">
<!--
function Modulo() {
// Variabili associate ai campi del modulo
var nome = document.modulo.nome.value;
var cognome = document.modulo.cognome.value;
var codfisc = document.modulo.codfisc.value;
var indirizzo = document.modulo.indirizzo.value;
var cap = document.modulo.cap.value;
var citta = document.modulo.citta.value;
var prov = document.modulo.prov.value;
var telefono = document.modulo.tel.value;
var email = document.modulo.email.value;
var sceltaprodotto = document.modulo.sceltaprodotto.value;
var autorizzo = document.modulo.autorizzo.value;
// Espressione regolare dell'email
var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
//Effettua il controllo sul campo NOME
if ((nome == "") || (nome == "undefined")) {
alert("Il campo Nome è obbligatorio.");
document.modulo.nome.focus();
return false;
}
//Effettua il controllo sul campo COGNOME
else if ((cognome == "") || (cognome == "undefined")) {
alert("Il campo Cognome è obbligatorio.");
document.modulo.cognome.focus();
return false;
}
//Effettua il controllo sul campo CODICE FISCALE
else if ((codfisc == "") || (codfisc == "undefined")) {
alert("Il campo Codice Fiscale è obbligatorio.");
document.modulo.codfisc.focus();
return false;
}
//Effettua il controllo sul campo INDIRIZZO
else if ((indirizzo == "") || (indirizzo == "undefined")) {
alert("Il campo Indirizzo è obbligatorio.");
document.modulo.indirizzo.focus();
return false;
}
//Effettua il controllo sul campo CAP
else if ((cap == "") || (cap == "undefined")) {
alert("Il campo CAP è obbligatorio.");
document.modulo.cap.focus();
return false;
}
//Effettua il controllo sul campo Città
else if ((citta == "") || (citta == "undefined")) {
alert("Il campo Città è obbligatorio.");
document.modulo.citta.focus();
return false;
}
//Effettua il controllo sul campo Provincia
else if ((prov == "") || (prov == "undefined")) {
alert("Il campo Provincia è obbligatorio.");
document.modulo.prov.focus();
return false;
}
//Effettua il controllo sul campo TELEFONO
else if ((isNaN(telefono)) || (telefono == "") || (telefono == "undefined")) {
alert("Il campo Telefono è numerico ed obbligatorio.");
document.modulo.telefono.value = "";
document.modulo.telefono.focus();
return false;
}
//Effettua il controllo sul campo EMAIL
else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
alert("Inserire un indirizzo email corretto.");
document.modulo.email.select();
return false;
}
//Effettua il controllo sul campo radio
else if ((sceltaprodotto != "checked")) {
alert("è necessario scegliere un prodotto per continuare.");
document.modulo.sceltaprodotto.value = "";
document.modulo.sceltaprodotto.focus();
return false;
}
//Effettua il controllo sul campo checkbox
else if ((autorizzo != "checked")) {
alert("è necessario autorizzare il trattamento dei dati per continuare.");
document.modulo.autorizzo.value = "";
document.modulo.autorizzo.focus();
return false;
}
//INVIA IL MODULO
else {
document.modulo.action = "richcat.php";
document.modulo.submit();
}
}
//-->
</script>
</head>
<body>
<form name="modulo" method="post" onsubmit="return check_vote_form(this);">
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" bgcolor="#333333"></td>
<td height="20" colspan="5" bgcolor="#333333">Tutti i campi contrassegnati con '*' sono obbligatori.</td>
</tr>
<tr>
<td width="75"><div align="right">Nome *</div></td>
<td width="120"><input class="semitrasp" type="text" name="nome"/></td>
<td width="75"><div align="right">Cognome *</div></td>
<td width="120"><input class="semitrasp" type="text" name="cognome" /></td>
<td width="90"><div align="right">Cod.Fiscale *</div></td>
<td width="120"><input class="semitrasp" type="text" name="codfisc" /></td>
</tr>
<tr>
<td width="75"><div align="right">Indirizzo *</div></td>
<td width="120"><input class="semitrasp" type="text" name="indirizzo" /></td>
<td width="75"><div align="right">Cap *</div></td>
<td width="120"><input class="semitrasp" name="cap" type="text" maxlength="10" /></td>
<td width="90"><div align="right">Città *</div></td>
<td width="120"><input class="semitrasp" type="text" name="citta" /></td>
</tr>
<tr>
<td width="75"><div align="right">Provincia *</div></td>
<td width="120"><select name="prov" id="prov" >
<OPTION value="" selected >- -</OPTION><OPTION value="AG" >AG</OPTION><OPTION value="AL" >AL</OPTION>
</select></td>
<td width="75"><div align="right">Nazione *</div></td>
<td width="120"><input class="semitrasp" disabled name="nazione" type="text" value="Italia"/></td>
<td colspan="2"></td>
</tr>
<tr>
<td width="75"><div align="right">Telefono *</div></td>
<td width="120"><input class="semitrasp" type="text" name="tel" /></td>
<td width="75"><div align="right">e-mail *</div></td>
<td width="120"><input class="semitrasp" type="text" name="email" /></td>
<td width="90"></td>
<td width="120"></td>
</tr>
<tr>
<td width="75"><div align="right">Altro/note</div></td>
<td colspan="5"><label>
<textarea name="note" id="textarea" cols="80" rows="2
"></textarea>
</label></td>
</tr>
<tr>
<td height="15" colspan="6" bgcolor="#000000"><div align="center">Indica qui di seguito quale prodotto intendi acquistare *</div></td>
</tr>
<tr>
<td height="20" colspan="6">
<div class="radio">
<input type="radio" name="sceltaprodotto" id="Cartaceo" value="Cartaceo - euro 50,00" />
Cartaceo (€ 50,00)</div>
<div class="radio">
<input type="radio" name="sceltaprodotto" id="CD" value="CD - euro 10,00" />
CD (€ 10,00)</div>
<div class="radio">
<input type="radio" name="sceltaprodotto" id="Cartaceo+CD" value="Cartaceo+CD - euro 55,00" />
Cartaceo+CD (€ 55,00)</div> </td>
</tr>
<tr>
<td height="25" colspan="6" bgcolor="#333333"><div align="center">
<input type="checkbox" name="autorizzo" id="checkbox" />
-- Ai sensi del D.Lgs. 196/03 autorizzo il trattamento dei miei dati personali. --</div></td>
</tr>
<tr>
<td width="75" height="40"></td>
<td width="120" height="40"></td>
<td width="75" height="40"><div align="center">
<input type="button" class="invia" value="Invia" onclick="Modulo()" />
</div></td>
<td width="120" height="40"><div align="center">
<input name="Submit" type="reset" class="invia" value="Cancella dati" />
</div></td>
<td width="90" height="40"></td>
<td width="120" height="40"></td>
</tr>
<tr>
<td width="75"></td>
<td width="120"> </td>
<td width="75"></td>
<td width="120"></td>
<td width="90"></td>
<td width="120"></td>
</tr>
</table>
</form>
</body>
</html>