Riscrivo il form, con alcuni attributi in piu`. Ometto i tag non rilevanti.
codice:
<form name="form1" method="post" action="">
<input name="Tot_Votanti" type="text" id="Tot_Votanti" value="100" readonly="true"> Totale Votanti
<input name="Bianche" type="text" id="Bianche" onchange="calcola(this.form);">Bianche
<input name="Nulle" type="text" id="Nulle" onchange="calcola(this.form);">Nulle
<input name="Contestate" type="text" id="Contestate" onchange="calcola(this.form);">Contestate
<input name="Vot_val" type="text" id="Vot_val" readonly="true">Voti validi
<input name="L1" type="text" id="L1" onchange="calcola(this.form);">Lista Uno</p>
<input name="L2" type="text" id="L2" onchange="calcola(this.form);">Lista Due
<input name="L3" type="text" id="L3" onchange="calcola(this.form);">Lista tre
<input name="Tot_vot" type="text" id="Tot_vot" readonly="true">Totale Voti
</form>
Nella head della pagina ci dovra` essere un JS fattocosi`:
codice:
<script type="text/javascript">
function calcola(ff) {
var tovn = parseInt(ff.Tot_votanti.value);
var bia = parseInt(ff.Bianche.value);
var nul = parseInt(ff.Nulle.value);
var con = parseInt(ff.Contestate.value);
var li1 = parseInt(ff.L1.value);
var li2 = parseInt(ff.L2.value);
var li3 = parseInt(ff.L3.value);
var vova = tovn - (bia+nul+con);
var tovt = li1+li2+li3;
ff.Vot_val.value = vova;
ff.Tot_vot.value = tovt;
if(ff.L1.value=="" || ff.L2.value=="" || ff.L3.value=="") {
return false;
} else {
if(vova == tovt) {
return true;
} else {
alert("il totale non torna");
return false;
}
}
}
Questa routine andrebbe anche chiamata prima di spedire il form:
<form name="form1" method="post" action="...." onsubmit="return calcola(this);">
Non la ho provata (potrebebro esserci errori)