Ho fatto un form in cui sono presente sei campi in cui và aggiunto un valore numerico (in ognuno) non inferiore a 4 e non superiore a 20, e che in totale facciano 80.
Per fare ciò ho usato questo codice:


codice:
var  p_corpo,p_agilita,p_testa,p_tempra,p_vol
onta,p_riflessi,quanti; 
p_corpo=document.theform.p_corpo.value; 
p_agilita=document.theform.p_agilita.value; 
p_testa=document.theform.p_testa.value; 
p_tempra=document.theform.p_tempra.value; 
p_volonta=document.theform.p_volonta.value; 
p_riflessi=document.theform.p_riflessi.value; 
 quanti=parseInt(p_corpo)+parseInt(p_agil
 ita)+parseInt(p_testa)+parseInt(p_tempra
 )+parseInt(p_volonta)+parseInt(p_rifless
i); 
alert('Stai utilizzando '+quanti+' punti su un totale di 80 possibili!'); 
 

var  p_corpo,p_agilita,p_testa,p_tempra,p_vol
onta,p_riflessi,quanti; 
p_corpo=document.theform.p_corpo.value; 
p_agilita=document.theform.p_agilita.value; 
p_testa=document.theform.p_testa.value; 
p_tempra=document.theform.p_tempra.value; 
p_volonta=document.theform.p_volonta.value; 
p_riflessi=document.theform.p_riflessi.value; 
 quanti=parseInt(p_corpo)+parseInt(p_agil
 ita)+parseInt(p_testa)+parseInt(p_tempra
 )+parseInt(p_volonta)+parseInt(p_rifless
i); 

if(p_corpo<4 || p_corpo>20) { 
alert("Punti riguardo il corpo errati: minimo 4 e massimo 20"); 
return false; 
} 

if(p_agilita<4 || p_agilita20) { 
alert("Punti riguardo l'agilità errati: minimo 4 e massimo 20"); 
return false; 
} 

if(p_testa<4 || p_testa>20) { 
alert("Punti riguardo la testa errati: minimo 4 e massimo 20"); 
return false; 
} 

if(p_tempra<4 || p_tempra>20) { 
alert("Punti riguardo la tempra errati: minimo 4 e massimo 20"); 
return false; 
} 

if(p_volonta<4 || p_volonta>20) { 
alert("Punti riguardo la volontà errati: minimo 4 e massimo 20"); 
return false; 
} 

if(p_riflessi<4 || p_riflessi>20) { 
alert("Punti riguardo i riflessi errati: minimo 4 e massimo 20"); 
return false; 
} 

if(quanti!=80) { 
alert("ATTENZIONE! La somma delle caratteristiche deve essere 80!"); 
return false; 
}

return true; 
}

Solo che se per caso i numeri sono minori a 4, maggiori a 20, o in totale min/maggiori a 80, non fa venire alcun alert che blocchi l'invio. Come mai?