Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/06/2014, 14:56
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: suma de 4 campos

Lo más seguro es que evalúes el contenido de cada caja de texto, pues el usuario puede ingresar un texto en lugar de un valor numérico y de suceder eso, no obtendrás un resultado válido.

Código Javascript:
Ver original
  1. var a = document.getElementById("a"), //Primera caja
  2.     b = document.getElementById("b"), //Segunda caja
  3.     c = document.getElementById("c"), //Tercera caja
  4.     x, y, z, //Variables que tomarán el valor final de cada caja
  5.     sumar = document.getElementById("sumar"), //Botón de suma
  6.     resultado = document.getElementById("resultado"); //Muestra el resultado
  7.  
  8. sumar.addEventListener("click", function(){
  9.     x = !isNaN(a.value) ? Number(a.value) : 0;
  10.     y = !isNaN(b.value) ? Number(b.value) : 0;
  11.     z = !isNaN(c.value) ? Number(c.value) : 0;
  12.     resultado.innerHTML = x + y + z;
  13. }, false);

Con la función isNaN, evalúo el contenido de cada caja, verificando que no sea un 'Not a number', es decir, que sea un número. Entonces, si se ingresa un valor no numérico, se asigna un cero, caso contrario, obtener el valor numérico del dato ingresado, pues todo valor que se ingresa en una caja de texto es tomado originalmente como una cadena, por lo que si ingreso "35" u otro valor y quiero que se evalúe como un número, lo convierto en dicho tipo de dato con el objeto Number. Incluso si no se ingresa contenido en la caja, se asignaría un cero pues dicho objeto interpreta como tal a una cadena vacía.



Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 14/06/2014 a las 15:37 Razón: Palabra repetida