Ciao ragazzi
Ho realizzato un classico form HTML che chiede alcuni dati all'utente.
Ho poi messo un controllo in JavaScript per verificare che tutti i campi richiesti vangano compilati.
Il problema è che questo script funziona solo in parte: JS mi visualizza un alert se il campo non è stato compilato, ma il form html continua comunque ad andare avanti e nonostante il messaggio di errore si viene reindirizzati alla pagina presente in "action".
Dove sbaglio?
Eccovi il codice HTML:
codice:
<form name="iscrizione" id="form_iscrizione" method="post" onsubmit="controllo()" action="subscribe.php">
[............]
<td align="left">
<input type="submit" name="Submit" value="Registrati" >
</td>
</form>
...e questo è il codice JS (incluso ovviamente nella stessa pagina):
codice:
<script language="javascript">
function controllo() {
if (nome.value == "")
{
alert ("Tutti i campi devono essere compilati");
document.forms[form_iscrizione].elements[campo_nome].focus();
return false;
}
else {
return true;
}
}
</script>
Il codice JS l'ho messo subito dopo la chiusura del FORM. Ho provato a spostarlo anche tra gli HEAD ma non cambia nulla...
Qualcuno sa dirmi dove sbaglio? :master:
Riepilogando, l'invio dei dati del FORM deve essere interrotto se uno dei campi è vuoto (in questo caso ho specificato solo il campo "nome").
Ogni idea è ben accetta
Grazie, ciao
UPDATE: sotto suggerimento ho fatto alcune modifiche:
- <form name="iscrizione" id="form_iscrizione" method="post" action="subscribe.php">
- <input type="button" onclick="controllo()" name="Submit" value="Registrati" >
- else
{
document.forms["form_iscrizione"].submit();
}
Dopo aver fatto queste modifiche sembrava tutto perfettamente funzionante!
Il problema è che funziona correttamente solo su Chrome e su IE viene visualizzato in basso nella barra grigia la frase "Errore nella visualizzazione della pagina".
Nessuna idea?