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 originalvar a = document.getElementById("a"), //Primera caja
b = document.getElementById("b"), //Segunda caja
c = document.getElementById("c"), //Tercera caja
x, y, z, //Variables que tomarán el valor final de cada caja
sumar = document.getElementById("sumar"), //Botón de suma
resultado = document.getElementById("resultado"); //Muestra el resultado
sumar.addEventListener("click", function(){
x = !isNaN(a.value) ? Number(a.value) : 0;
y = !isNaN(b.value) ? Number(b.value) : 0;
z = !isNaN(c.value) ? Number(c.value) : 0;
resultado.innerHTML = x + y + z;
}, 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