Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: DeMoNcRaZy en 24 Enero 2016, 15:03 pm



Título: [Resuelto] [javascript] Sumar valores input
Publicado por: DeMoNcRaZy en 24 Enero 2016, 15:03 pm
Buenas,

Tengo un pequeño problema que no logro saber por que no funciona como debería...

Tengo esto:

Código
  1. Valor numero 1:
  2. <input id="num1" type="text/javascript" />
  3. Valor numero 2:
  4. <input id="num2" type="text/javascript" />
  5.  
  6. <button onclick="clic()">Calcular</button>
  7.  
  8. <script>
  9.  
  10.    function clic(){
  11.        var num1 = document.getElementById("num1").value;
  12.        var num2 = document.getElementById("num2").value;
  13.  
  14.        var resultado = num1 + num2;
  15.  
  16.        console.log(resultado);
  17.    }
  18.  
  19. </script>

El problema es que cuando me va a mostrar el resultado en ves de hacer la suma uno los números... por ejemplo ingreso 3 y 3 y el resultado es 33 en ves de sumarlo y ser 6.

¿A que se podría deber dicho problema.
Cualquier información adicional lo agradecería.

Saludos.


Título: Re: [javascript] Sumar valores input
Publicado por: MinusFour en 24 Enero 2016, 15:15 pm
Eso es porque el operador + tambien sirve para concatenar cadenas de caracteres y los valores obtenidos de los inputs son cadenas de caracteres. Tienes que convertirlos a numeros:

Código
  1. var resultado = Number(num1) + Number(num2);


Título: Re: [javascript] Sumar valores input
Publicado por: -Mc_Raaka- en 24 Enero 2016, 16:07 pm
Como te han comentado el problema esta en que javascript por defecto toma cualquier valor de una variable como un string de texto, para que lo tome como un numero entero puedes usar tambien esta forma

Código
  1. var nombredelavariable = parseInt(valor);