Ciao
I lavori continuano e con questi anche i problemi aumentano.
Recentemente per validare un form tramite JS comincio ad usare una cosa del genere:
function check_valid(form) {
// anagrafe
if (form.nome.value == "") { // nome
alert ("Il campo del nome è vuoto");
form.nome.value = "";
form.nome.focus();
return false;
}
if (form.cognome.value == "") { // cognome
alert ("Il campo del cognome è vuoto");
form.cognome.value = "";
form.cognome.focus();
return false;
}
if (form.citta.value == "") { // città
alert ( "Il campo della città è vuoto");
form.citta.value = "";
form.citta.focus();
return false;
}
..........................
return true;
}
La form è costruita manualmente e posso richiamare la funzione JS in questo moso:
<form name="form1" method="post" action="invia_form.php" onsubmit="return check_valid(this)" id="form1">
<input type="text" name="nome" size="30" />
<input type="text" name="cognome" size="30" />
<input type="text" name="citta" size="30" />
.......................
</form>
Questa volta il problema è un altro.
Il form non lo scrivo manualmente ma usando semplicemente un ciclo dopo aver rilevato i campi dal DB con una Query e viene scritto in questo modo:
echo "<form id=\"form1\" name=\"form1\" method=\"post\" action=\"\"onsubmit=\"check(this);\">\n";
for ($i=1; $i < mysql_num_fields ($Result); $i++) { // comincio da 1 perchè lo "0" è il campo ID
$colonna = mysql_field_name ($Result, $i);
if ($colonna == "note") {
echo "<textarea name=\"".$colonna."\" cols=\"33\" rows=\"5\"></textarea>\n";
} else {
echo "<input type=\"text\" name=\"".$colonna."\" size=\"44\" />\n";
}
}
....................................
echo "</form>\n";
In questo modo so solo che un campo si chiama "note", ma per il resto è tutto buio.
Io penso che ci dovrebbe essere un modo per leggere i controlli del form da JS e controllare se i dati sono validi.
Grazie dell'aiuto