F.A.Q. numero 498. Come bloccare l'invio di un form in presenza di dati non validi? Quando il form viene processato per prima cosa viene scatenato l'event-handler onSubmit(); se restituisce true (default) il form
viene inviato, altrimenti l'invio viene bloccato.
Come esempio supponiamo di avere un form con un campo "codatt" (codice di attivazione) che deve essere obbligatoriamente compilato:
<FORM NAME="registrazione" ACTION="pagina2.htm" METHOD="post" onSubmit="return verifica_codice()">
Indicare il codice di attivazione: <INPUT TYPE="text" NAME="codatt">
<INPUT TYPE="submit" VALUE="Invia il codice di attivazione">
</FORM>
Nell'esempio sopra verrā chiamata la function verifica_codice(); se restituisce true il form verrā inviato.
<SCRIPT LANGUAGE='JavaScript'>
function verifica_codice()
{
if (document.forms['registrazione']['codatt'].value=='')
{
alert("Attenzione: devi indicare il codice di attivazione!");
document.forms['registrazione']['codatt'].focus();
return false; //non ho fornito il codice => avviso e restituisco false
}
return true; //ho fornito il codice => restituisco true e procedo con il submit della form
}
</SCRIPT>
FAQ&A by Cristiano Larghi dal newsgroup it.comp.lang.javascript.
Nota: vedi anche lo script Form Validator per altri esempi sulla validazione.
|