Ho un problema tanto stupido quanto fastidioso.
Un classico Form da compilare sul quale, quando viene cliccato il submit, viene eseguito il check dei campi, prima di mandarlo allo script che carica i dati a db.
Su IE6 tutto funziona a meraviglia (
) mentre su Firefox4 e Chrome11 quando viene il messaggio di errore dovuto alla compilazione errata di un campo (un semplice alert), la pagina viene ricaricata, perdendo tutti i dati scritti nei moduli.
Ho ricontrollato il codice ma non mi sembra di vedere niente di anomalo, magari è proprio cannata l'impostazione..
ecco il codice
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Modulo di raccolta dati</title>
<link rel="stylesheet" type="text/css" href="screen.css">
<script language="javascript">
<!--
function Validazione()
{
// Variabili associate ai campi del modulo
var email = document.form1.email.value;
var pec = document.form1.pec.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 (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
alert("Inserire un indirizzo email corretto.");
document.form1.email.select();
return false;
}
else if (!email_reg_exp.test(pec) || (pec == "") || (pec == "undefined")) {
alert("Inserire un indirizzo email pec corretto.");
document.form1.pec.select();
return false;
}
//INVIA IL MODULO
else {
alert('ciao');
document.form1.action = "in.php";
document.form1.submit();
}
}
//-->
</script>
</head>
<body>
<?php if($_GET['action'] === 'success') echo '<p id="success">MODULO INVIATO CORRETTAMENTE</p>'; ?>
<div id="container">
<h2>Modulo di raccolta dati</h2>
<form id="form1" name="form1" method="post">
<fieldset><legend>Richiesta</legend>
<p class="first">
<label for="cognome">Cognome</label>
<input type="text" name="cognome" id="cognome" size="30" />
</p>
<label for="nome">Nome</label>
<input type="text" name="nome" id="nome" size="30" />
</p>
<label for="num_iscr_albo">Numero Iscrizione Albo</label>
<input type="text" name="num_iscr_albo" id="num_iscr_albo" size="30" />
</p>
<label for="indirizzo_studio">Indirizzo Studio</label>
<input type="text" name="indirizzo_studio" id="indirizzo_studio" size="30" />
</p>
<label for="num_telefono">Numero di Telefono</label>
<input type="text" name="num_telefono" id="num_telefono" size="30" />
</p>
<label for="email">Indirizzo Email</label>
<input type="text" name="email" id="email" size="30" />
</p>
<label for="pec">Indirizzo Posta Certificata</label>
<input type="text" name="pec" id="pec" size="30" />
</p>
<label for="dom1">Domanda 1</label>
<textarea name="dom1" id="dom1" cols="30" rows="10"></textarea>
</p>
<label for="dom2">Domanda 2</label>
<textarea name="dom2" id="dom2" cols="30" rows="10"></textarea>
</p>
<label for="dom3">Domanda 3</label>
<textarea name="dom3" id="dom3" cols="30" rows="10"></textarea>
</p>
<label for="dom4">Domanda 4</label>
<textarea name="dom4" id="dom4" cols="30" rows="10"></textarea>
</p>
<label for="dom5">Domanda 5</label>
<textarea name="dom5" id="dom5" cols="30" rows="10"></textarea>
</p>
</fieldset>
<p class="submit"><button onclick="Validazione()">Invia</button></p>
</form>
</div>
</body>
</html>