Ho scritto una funzione che controlla i campi di un form e li invia solamente se tutti sono compilati.
Questa funziona ma, se trova un campo non compilato, il focus si sposta correttamente ma tutti i dati precedentemente inseriti vengono persi. E' possibile obblicare IE a ricordarli?
Ecco il codice:
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
function Modulo() {
// Variabili associate ai campi del modulo
var field1 = document.modulo.name.value;
var field2 = document.modulo.description.value;
//Effettua il controllo sul campo field1
if ((field1 == "") || (field1 == "undefined")) {
alert("Devi specificare il nome della nuova categoria.");
document.modulo.name.focus();
return false;
}
//Effettua il controllo sul campo field2
else if ((field2 == "") || (field2 == "undefined")) {
alert("Devi fornire una descrizione della categoria.");
document.modulo.description.focus();
return false;
}
else {
document.modulo.action = "edit.php?action=c_a";
document.modulo.submit();
}
}
//-->
</script>
</HEAD>
<BODY>
<FORM name="modulo" method="POST">
Nome*: <INPUT type="text" name="name" maxlength="64">
Descrizione*: <TEXTAREA name="description" rows="4" cols="15"></TEXTAREA>
<INPUT type="submit" value="Conferma" onClick="Modulo()"><INPUT type="reset" value="Annulla">
</FORM>
Ciao e grazie!