OK, gli errori di sintassi li ho corretti però ora non riesco a capire perchè alcuni controlli sul form non funzionano.
I checkbox funzionano solo per alcuni controlli, cioè da l'alert solo quando sono checkati entrambi ma a volte mi dice che non ho checkato nessun checkbox mentre a video è checkato.
Nel campo Telefono e Cellulare non funziona il controllo, cioè dovrebbe solo controllare che sia un campo numerico.
Ti chiedo un'ulteriore cosa: c'è modo di resettare tutte le variabili del form dopo che è comparso un alert oppure dopo che l'invio del form è andato a buon fine?
Ti riposto il codice così ci puoi dare un'occhiata:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Contattaci</title>
<link href="nuovahome.css" rel="stylesheet" type="text/css" media="all" />
<script type="text/Javascript" src="focus.js"></script>
</head>
<script language="javascript">
<!--
//funzione che verifica le checkbox
function checkbox() {
//setta le variabili che stabiliscono il numero minimo e massimo di chkbox spuntate
max=0;
min=0;
//nn2 è la variabile che memorizzare il valore della chkbox spuntata
nn2=0;
for(nn=0;nn<2;nn++) {
if(document.contattaci.chkbox[nn].checked) {
max++;
nn2=nn;
//se è spuntata più di una checkbox blocca l'invio del form
if(max>1) {
alert("Hai spuntato più di una checkbox");
//document.contattaci.chkbox[nn].reset();
//resetta la variabile che controlla le checkbox
nn2=0;
return false;
}
}
//se non è spuntata nessuna chkbox blocca l'invio del form
if(!document.contattaci.chkbox[nn].checked) {
min++;
if(nn==0 && min!=0) {
alert("Non hai spuntato una checkbox");
//document.contattaci.chkbox[nn].reset();
//resetta la variabile che controlla le checkbox
nn2=0;
return false;
}
}
}
//se esiste una sola chkbox spuntata prosegue nella verifica
if(max==1) {
ControllaMail(nn2);
}
}
function ControllaMail()
{
EmailAddr = document.contattaci.mail.value;
Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
if (Filtro.test(EmailAddr))
tel(nn2,nc,es,mail);
else
{
alert("Controlla l'indirizzo di e-mail inserito");
document.contattaci.mail.focus();
return false;
}
}
function tel()
{
if (isNaN(telefono))
{
alert("Il campo Telefono è numerico.");
return false;
}
else {
cell(nn2,nc,es,mail,telefono);
}
}
function cell()
{
if (isNaN(cellulare))
{
alert("Il campo Cellulare è numerico.");
return false;
}
else {
txtogg(nn2,nc,es,mail,telefono,cellulare);
}
}
//funzione che verifica che la textbox nome non sia vuota
function txtogg() {
ogg=document.contattaci.oggetto.value;
if(ogg=="") {
alert("Non hai inserito del testo nella textbox");
return false;
}
else {
txtmsg(nn2,nc,es,mail,telefono,cellulare,ogg);
}
}
//funzione che verifica che la textbox nome non sia vuota
function txtmsg() {
msg=document.contattaci.messaggio.value;
if(msg=="") {
alert("Non hai inserito del testo nella textbox");
return false;
}
else {
document.write("<h3>Hello World</h3>");
mostra(nn2,nc,es,mail,telefono,cellulare,ogg,msg);
}
}
//funzione che mostra il riepilogo delle scelte effettuate
//da notare che in questo programma è determinante il passaggio dei dati delle
//variabili da una funzione ad un'altra, in quanto le variabili sono private
//e non normalmente accessibili all'esterno della funzione che le ha definite.
function mostra() {
document.write("<h3>Il form è stato sottoposto correttamente con i seguenti valori:</h3>");
document.write("
Hai scelto la checkbox n."+(nn));
document.write("
Hai inserito nella textbox il testo: "+nc);
document.write("
Hai inserito nella textbox il testo: "+es);
document.write("
Hai inserito nella textbox il testo: "+mail);
document.write("
Hai inserito nella textbox il testo: "+telefono);
document.write("
Hai inserito nella textbox il testo: "+cellulare);
document.write("
Hai inserito nella textbox il testo: "+oggetto);
document.write("
Hai inserito nella textarea il testo: "+msg);
return true;
}
-->
</script>
<body>
<table class="maintable" border="0" cellspacing="0">
<tr>
<td colspan="4" align="center">[img]top_logo.gif[/img]
</td>
</tr>
<tr>
<td class="menutop_left">in corso d'opera</td>
<td class="menutop_center1">normativa vigente</td>
<td class="menutop_center2">bandi e capitolati</td>
<td class="menutop_right">contattaci</td>
</tr>
<tr>
<td>
<table class="left_menu" border="0" cellspacing="0">
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">CHI SIAMO</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">DOVE SIAMO</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">ORGANI DIRETTIVI</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">QUALIFICHE E RICONOSCIMENTI</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">PARTNERSHIP</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">CUSTOMER SATISFACTION</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">SERVIZI</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">OFFERTA LAVORO</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">ACCESSO RISERVATO</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">PRODOTTI NUMERAZIONE CIVICA</td>
</tr>
<tr>
<td>[img]freccia.gif[/img]</td><td colspan="2">ARREDO URBANO</td>
</tr>
<tr>
<td border="1px outset white">[img]freccia.gif[/img]</td><td colspan="2">GESTIONE PARCHEGGI</td>
</tr>
<tr>
<td colspan="3" align="center">
[img]areariservata2.jpg[/img]
</td>
</tr>
</table>
</td>
<td colspan="2" class="contattaci">
<form name="contattaci" onSubmit="checkbox()">
<fieldset>
<legend>Contattaci</legend>
<table class="table_contattaci" border="0">
<tr>
<td width="45%"><input type="checkbox" name="chkbox" value="01" checked/> Persona Fisica</td>
<td width="55%"><input type="checkbox" name="chkbox" checked/> Ente/Societa'</td>
</tr>
<!--
-->
<tr>
<td><label>Nome e Cognome:</td><td><input type="text" name="nc" maxlength="50"></label></td>
</tr>
<!--
-->
<tr>
<td><label>Nome Ente/Societa':</td><td><input type="text" name="es" maxlength="50"></label></td>
</tr>
<!--
-->
<tr>
<td><label>Email:</td><td><input type="text" name="mail" maxlength="50"></label></td>
</tr>
<!--
-->
<tr>
<td><label>Telefono:</td><td><input type="text" name="telefono" maxlength="10"></label></td>
</tr>
<!--
-->
<tr>
<td><label>Cellulare:</td><td><input type="text" name="cellulare" maxlength="10"></label></td>
</tr>
<!--
-->
<tr>
<td><label>Oggetto:</td><td><input type="text" name="oggetto"></label></td>
</tr>
<tr>
<td colspan="2"><label>Messaggio:</label></td>
</tr>
<!--
-->
<tr>
<td colspan="2"><textarea name="messaggio" rows="5" cols="40"></textarea></td>
</tr>
<!--
-->
<tr>
<td><input type="reset" id="annulla" value="Annulla"></button></td>
<td><input type="submit" id="invia" value="Invia"></td>
</table>
</fieldset>
</form>
</td>
<td class="rightcol">COLONNA DESTRA (news, pubblicazioni)</td>
</tr>
<tr>
<td colspan="4">
<table class="footer">
<tr>
<td class="contatore" colspan="8">Contatore visite a sinistra</td>
</tr>
<tr width="100%" colspan="5">
<td class="copyright">Copyright 2004</td>
<td class="footerLinks">Home</td>
<td align="center">[img]blue_pipe.gif[/img]</td>
<td class="footerLinks">Site Map</td>
<td align="center">[img]blue_pipe.gif[/img]</td>
<td class="footerLinks">Privacy Policy</td>
<td align="center">[img]blue_pipe.gif[/img]</td>
<td class="footerLinks">Contattaci</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>