Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/02/2013, 19:53
Avatar de ipraetoriux
ipraetoriux
 
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años, 7 meses
Puntos: 155
Respuesta: Problema al Sumar

...el problema que tienes es que cuando recibes un valor vació e intentas transformarlo en entero con el parseInt, obtendrás un valor NaN, o sea un Not a Number, y eso te dará un error en la operación que quieres efectuar. Para solucionarlo podes verificar con el método isNaN() cada valor..te doy un ejemplo...

una forma fácil sin que te compliques de resolverlo seria asi...

Código Javascript:
Ver original
  1. function sumar(){
  2.   var numeros = [];
  3.   var suma = 0;
  4.  
  5.   var a1 = parseInt(document.getElementById('valor1').value);
  6.   numeros.push(a1);
  7.   var a2 = parseInt(document.getElementById('valor2').value);
  8.    numeros.push(a2);
  9.   var a3 = parseInt(document.getElementById('valor3').value);
  10.    numeros.push(a3);
  11.  
  12.   for(var i=0; i<numeros.length; i++){
  13.     if(isNaN(numeros[i])){
  14.       numeros[i] = 0;
  15.     }
  16.     suma+=numeros[i];
  17.   }
  18.  
  19.   console.log(suma);
  20. }

..por supuesto podes optimizar esta función, podes recorrer todo el formulario e ir agregando cada valor en el array, transformalo en int verificar si es Nan para luego sumarlo