.. in effetti...
Codice PHP:
<form name="nome">
<input name="prova" type="text" size="12" maxlength="12" onblur="CheckIt('prova', 6, 'Prova deve essere lungo almeno sei caratteri!');" id="check" />
<input type="button" value="conferma" onclick="MakeSubmit();">
</form>
funzioni js
Codice PHP:
function CheckIt(campo, len, msg) {
// esegue un controllo sulla lunghezza del campo
if (document.forms[0].elements[campo].value.length<len) {
alert(msg);
document.forms[0].elements[campo].focus();
return false;
}
return true;
}
function CheckData(){
// azzera le precendeti verifiche
do {
var elmt=document.getElementById('ok');
if (elmt!=undefined) { elmt.id='check'; }
} while(elmt!=undefined);
// inizia le verifiche solo sui campi che hanno id='check'
do {
var elmt=document.getElementById('check');
if (elmt!=undefined) {
for (k=0; k<=elmt.attributes.length-1; k++ ) {
if (elmt.attributes[k].nodeName=="onblur") {
// se c'è qualcosa su onblur lo eseguo
// questo è l'eval che vorrei eliminare
if (eval(elmt.attributes[k].nodeValue)) { elmt.id='ok'; }
else return false;
}
}
}
} while(elmt!=undefined);
}
function MakeSubmit() {
// faccio il submit solo se la verifica dei dati è riuscita
if (CheckData()) { document.forms[0].submit(); }
}