Salve Ragazzi, ho un problema con un form e il suo controllo in javascript.
Ho un form chiamato modulo e tre campi : name, email e message (Serve appunto per inviare l'email).
Lo script utilizzato controlla che le caselle di testo non siano vuote. Nel caso risultino vuote, avvisa l'utente (alert) e posiziona il cursore nella casella (focus). Con tutte le altre pagine funziona, con questa in HTML5 invece esegue l'alert e ricarica la pagina (e cancella le altre 2 caselle di testo "riempite").
attualmente, l'unica differenza che noto è che questa pagina è cosi composta da paragrafi:
Codice HTML:
<html>
<head>
javascript
</head>
<body>
<section id="a">
<section id="b">
<section id="c">
</body>
</html>
è possibile che questo impedisca al javascript di eseguire il focus senza ricaricare la pagina?
allego il codice javascript e il codice html del modulo.
Codice HTML:
<script>
<!--
function Modulo()
{
if(document.modulo.name.value=="") {
alert("Inserisci il Nome e Cognome");
document.modulo.name.focus();
return false;
}
else if (document.modulo.email.value=="") {
alert("Inserisci la tua email");
document.modulo.email.focus();
return false;
}
st = document.modulo.email.value;
var espressione = new RegExp("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+[\.]([a-z0-9-]+)*([a-z]{2,3})$");
if ( !espressione.test(st) ){
alert("Questa Mail non è valida");
document.modulo.email.focus()
return false;
}
else if (document.modulo.message.value=="") {
alert("Inserisci un messaggio");
document.modulo.message.focus();
return false;
}
else {
document.modulo.action = "mail.php";
document.modulo.submit();
}
//---->
}
</script>
<form name="modulo" method="post">
<div class="row half">
<div class="6u"><input type="text" class="text" name="name" placeholder="Nome e Cognome" /></div>
<div class="6u"><input type="text" class="text" name="email" placeholder="Email" /></div>
</div>
<div class="row half">
<div class="12u">
<textarea name="message" placeholder="Messaggio"></textarea>
</div>
</div>
<div class="row">
<div class="12u">
<a href="" onClick="Modulo()" class="button submit">Richiedi un Preventivo</a>
</div>
</div>
</form>
Riepilogando, gli alert funzionano bene, l'unica imprecisione è che non esegue il focus, ma ricarica la pagina e tutti i dati inseriti vengono cancellati.