Bom dia a todos !
Pessoal,
eu estava fazendo essa função para calcular a media de uns campos do meu formulário
esse formulário tem 8 campos que podem ou não serem preenchidos com notas, então eu preciso varrear os campos para saber se foi preenchido ou não. Porque eu tenho que a minha média tem que ser assim : a soma de todos campos que foram preenchidos divido pelo numero de campos preenchidos.
tipo
dos 8 campos o cara só preencheu 4, então o sistema tem reconhecer e fazer assim
digamos foi 7.0,7.0,10.0, 2.0 então seria seria a soma de todos dividido pelo contador de campos preenchidos
7.0+7.0+10.0+2.0/4 ;
fiz a função
function startCalc(){
interval = setInterval("calc()",1);
}
function calc(){
x=0;
valor=0;
for (i=0;i<=8;i++){
campo_atual=eval("document.form1.av" + (i*10+1));
if (campo_atual.value!=""){
if (isNaN(campo_atual.value)){
//Não é um número válido
alert("Todos os campos devem ser numéricos")
return //Sai da função
}
valor+=parseFloat(campo_atual.value);
x++;
}
}
if (x==0){
alert("Nenhum campo está preenchido")
}else{
document.form1.mp11.value=valor/x;
}
}
function stopCalc(){
clearInterval(interval);
}
eu chamo a função assim
<input name=“av1<?=$cont?>” type=“text” value="<?=$av1?>" size=“1” maxlength=“4” onFocus=“startCalc;” onblur ="stopCalc();"onKeyPress=“return OnlyEspeciais(this,event);” />
alguma luz ?? pq não faz nada !!