Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: newbie420 en 14 Enero 2020, 00:47 AM

Título: cual es el error en mi codigo de sumar enteros ingresados por el usuario. js
Publicado por: newbie420 en 14 Enero 2020, 00:47 AM
ya se que puede parecer muy basico y perdon las molestias pero estaba programando en javascript
este es el codigo :

<!DOCTYPE html>
<html lang="es-ES">
<head>
<meta charset="utf-8">
<title>suma basica</title>
<link href='sumasimple.css' rel="stylesheet" type="text/css">
<body bgcolor="rgb(255,6,1)">
<h3 class="h3">Buenas ingrese 2 numeros para realizar una simple suma. </h3>
<script type="text/javascript">

function sumar(){
var valor1;
var valor2;
var suma= valor1 + valor2;

alert('el resultado de la suma da: '+suma);
document.getElementById('r').true;
}
</script>
</head>   
</body>
<p class="p">Valor numerico 1:</p>
<input type="text" id="valor1" name='valorn1'><br>
<p class="p">Valor numerico 2:</p>
<input type='text' id='valor2' name='valorn2'>
<button onclick='sumar()' >resultado</button>
</html>

al darle click al boton me salta el alert y me dice: el resultado de la suma da: NaN. en que parte del codigo me equivoque o que me falto, gracias
Título: Re: cual es el error en mi codigo de sumar enteros ingresados por el usuario. js
Publicado por: engel lex en 14 Enero 2020, 02:47 AM
Código (javascript) [Seleccionar]
var valor1;
var valor2;
var suma= valor1 + valor2;



declaras la variable valor1, declaras la variable valor2 y las sumas... pero las variables no tienen ningun valor asignado... NaN significa Not a Number (no es un numero) estas intentando sumar vacio con vacio, debes capturar el valor de los input primero
Título: Re: cual es el error en mi codigo de sumar enteros ingresados por el usuario. js
Publicado por: @XSStringManolo en 14 Enero 2020, 07:33 AM
Siempre que publiques código en el foro utiliza las etiquetas Geshi del lenguaje de programación correspondiente para que se vean los colores.

Código (html4strict) [Seleccionar]
<!DOCTYPE html>
<html lang="es-ES">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width, heigth=device-heigth, target-densitydpi=device-dpi">
    <title>Suma básica</title>
    <link href="sumasimple.css" rel="stylesheet">
  </head>
  <body>
    <h3>Ingrese 2 números para realizar una simple suma.</h3>
    <form>
      <p>Valor numérico 1:</p>
      <input type="number" name="valor1" value="0" placeholder="primer sumando" required>
      <p>Valor numérico 2:</p>
      <input type="number" name="valor2" value="0" placeholder="segundo sumando" required>
      <button type="button">Resultado</button>
      <button type="reset">Borrar</button>
    </form>
    <script src="suma.js"></script>
  </body>
</html>



Código (css) [Seleccionar]
body {
  background-color: #f10;
}

h3, p {
  text-align: center;
}

form {
  border: 2vw solid #fff;
}

input[type=number] {
  width: 88vw;
  display: inline-block;
  border: 1vh solid #aaa;
  box-sizing: border-box;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

button[type=button]
{
  -webkit-transition-duration: 0.5s; /* Safari */
  transition-duration: 0.5s;
  width: 35vw;
  border: 1vh solid #aaa;
  box-sizing: border-box;
  display: block;
  margin-left: auto;
  margin-right: auto;
  background-color: #333;
  color: white;
}

button[type=button]:hover {
  background-color: #fff;
  color: #777;
}

button[type=reset] {
  -webkit-transition-duration: 0.5s; /* Safari */
  transition-duration: 0.5s;
  border: 1vh solid #aaa;
  box-sizing: border-box;
  background-color: #333;
  color: white;
}



Código (javascript) [Seleccionar]
"use strict";

function Sumar(valor1, valor2) {
  return parseInt(valor1) + parseInt(valor2);
}

document.getElementsByTagName("button")[0].addEventListener("click", function(){ alert("El resultado de la suma es: " + Sumar( document.getElementsByName("valor1")[0].value , document.getElementsByName("valor2")[0].value));});



boton.addEventListener( "click", Sumar(valor1, valor2); );

Esto es equivalente al onclick="Sumar(valor1, valor2)"


boton.addEventListener( "click", function(){ Sumar(valor1, valor2); } );



boton.addEventListener("click", function(){ alert(" Resultado = " + Sumar(valor1, valor2);) } );

valor1 = document.getElementsByName("valor1")[0].value;

valor2 = document.getElementsByName("valor2")[0].value;

En vez de guardar todo en variables, lo que hice fue juntar todo directamente en una sola línea.