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>