- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- Javascript - validazione dei campi in un form dinamico
-
Javascript - validazione dei campi in un form dinamico
Ho creato dinamicamente un form per l'inserimento di dati in base alla richiesta dell'utente. Il mio problema è la validazione del form, ossia il controllo degli errori. Se ad esempio l'utente dimentica di inserire il proprio cognome è cosa grave e quindi dev'essere avvertito. Mi sapreste dire come fare? Non sono tanto pratico di javascript. Grazie.
Posto di seguito il codice:
[HTML] <script type="text/javascript">
<!--
var maxRighe=0;
var elementi="";function controlli()
{for (i=1;i<=maxRighe;i++){
if (nome == "") {
alert("Il campo nome è obbligatorio.");
document.modulo.nome.focus();
return false;
}
}
}
function mytab()
{maxRighe=window.prompt("Inserire","");
elementi+= "<form id="modulo">";
for(var i=1;i<=maxRighe;i++){
elementi+= "<br />Cognome: <input class="field" "- "type="text" id="cognome" + i + "" name="cognome" + i + "" size="20" maxlength="45" /> "
- "Nome: <input class="field" "
- "type=text id="nome" + i + "" name="nome" + i + "" size="20" maxlength="45" /> "
- "Indirizzo: <input class="field" "
- "type=text id="indirizzo" + i + "" name="indirizzo" + i + "" size="20" maxlength="60" /> "
- "Città: <input class="field" "
- "type=text id="citta" + i + "" name="citta" + i + "" size="20" maxlength="80" /> <br /><br /><br /><br />";
}
elementi+= "</form><input type="submit" onclick="controlli()" value="Clicca per confermare" />";
document.getElementById('aggiungi').innerHTML+= elementi;
}
// -->
</script>
</head>
<body>
<input type="button" value="clicca" onclick="mytab()" />
<p id="aggiungi"></p>
</body>[/HTML]
Il problema è che non so come indicare ad ogni ciclo for il contenuto del campo. Ho provato con document.getElementById('nome'). value, ma mi da errore. Anche con document.getElementById('nome' + i).value.
-
Ciao, benvenuto nel forum
Il valore di un campo si richiama in questo modo
[HTML]document.nomeform.nomecampo.value[/HTML]