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?

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando