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?