Salve, sto cercando di capirci qualcosa del seguente codice di convalida di dati:
<html>
<head>
<script>
function verify(f) {
var msg=""
var errors=""
for(i=0; i<f.length-1; i++) {
var e=f.elements[i]
if((e.type=="text" || e.type=="textarea") && e.optional==true) {
if(e.value==null || e.value=="") errors += "\n\t- il campo "+ e.name +" è vuoto"
else if(e.value.length>0 && e.value.search(/[a-zA-Z0-9_]/)!=-1)
errors += "\n\t- il campo "+ e.name +" contiene caratteri non ammessi"
else
if(e.email==true) {
if(e.value.indexOf("@")==-1)
errors += "\n\t- il campo "+ e.name +" deve contenere una email valida"
}
else
if(e.numeric==true || e.min!=null || e.max!=null) {
var v=parseFloat(e.value)
if(isNaN(v) || ((e.min!=null) && (v<e.min)) || ((e.max!=null) && (v>e.max))) {
errors += "\n\t- il campo "+ e.name +" deve essere un numero"
if(e.min!=null) errors+= " maggiore di "+ e.min
if(e.min!=null && e.max!=null) errors+= " e minore di "+ e.max
else if(e.max!=null) errors+= " minore di "+ e.max
}
}
}
}
if(!errors) return true
msg+="______________________________________\n"
msg+="Il modulo presenta i seguenti errori\n"
msg+="Si prega di correggerli e di inviarlo nuovamente\n"
msg+="_______________________________________\n"
msg+="\nI seguenti campi richiesti risultano non corretti:\n"+ errors
msg+="\n________________________________________\n "
alert(msg)
return false
}
</script>
</head>
<body>
<form name="controlla" onSubmit="
this.lastname.optional=true;
this.imail.optional=true;
this.imail.email=true;
this.zip.optional=true;
this.zip.numeric=true;
this.zip.min=23040;
this.zip.max=74320;
return verify(this);
">
Inserisci il nome:
<input type="text" size="20" name="lastname">
Inserisci l'email:
<input type="text" size="20" name="imail">
Inserisci il codice postale:
<input type="text" size="20" name="zip">
Inserisci dei commenti:
<textarea cols=20 rows=4 name="comment"></textarea>
<input type="submit" value="Controlla">
</form>
</body>
</html>
----------------------------------------------------------------
Per iniziare sapreste dirmi cosa significano nella seguente riga i caratteri:|| e &&
if((e.type=="text" || e.type=="textarea") && e.optional==true)