Intento alertar la suma de 2 números de las entradas, pero el problema es que no puedo convertirlo en un tipo de número. En lugar de esto, obtengo NaN. Retazo:
var ipt1 = document.getElementById("w1").value; var ipt2 = document.getElementById("w2").value; function add(){ let l1 = parseInt(ipt1) let l2 = parseInt(ipt2) alert( l1 + l2 ) } <body> <input type="" id="w1"><br> <input type="" id="w2"><br> <input type="submit" value="dodaj" onclick="add()"> </body>El problema es que los valores se almacenan en las variables mientras la entrada está vacía.
Debe obtener los valores después de que el usuario haya ingresado los valores y haya hecho clic en agregar ():
var ipt1 = document.getElementById("w1").value; // Input is empty at this point var ipt2 = document.getElementById("w2").value; // Input is empty at this point function add(){ let l1 = parseInt(ipt1); // You are parsing an empty value let l2 = parseInt(ipt2); // Same here... alert(l1+l2) }Lo que debes hacer:
const ipt1 = document.getElementById("w1"); const ipt2 = document.getElementById("w2"); function add(){ const l1 = parseInt(ipt1.value); const l2 = parseInt(ipt2.value); alert(l1+l2) }Lo que está haciendo es extraer los valores de los campos de entrada antes de escribirlos en el campo de entrada, es decir, ipt1 e ipt2 darán "" ya que su valor se extrajo cuando se cargó la página. En su lugar, intente extraer el valor en el momento de hacer clic en el botón Enviar.
Prueba esto
function add(){ var ipt1 = document.getElementById("w1").value var ipt2 = document.getElementById("w2").value let l1 = parseInt(ipt1) let l2 = parseInt(ipt2) console.log(ipt1,l1) alert(l1+l2) }