Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

218
Views
Suma de dos elementos de dos funciones diferentes

Estoy tratando de multiplicar dos números que obtuve de 2 entradas dentro de 2 funciones. ¿Cómo puedo acceder al valor fuera de la función? ¿Es esta la forma correcta de hacerlo? En este punto, obtengo NaN en total.

 let coinName = document.getElementById("coinName"); let nrCoins = document.getElementById("nrCoins"); let inputName = document.getElementById("inputName"); let inputNr = document.getElementById("inputNr"); let inputValue = document.getElementById("inputValue"); let coinValue = document.getElementById("coinValue"); let total = document.getElementById("total"); function coinNamer() { coinName.innerHTML = inputName.value; inputName.value = ""; } function nrCoinss() { nrCoins.innerHTML = inputNr.valueAsNumber; inputNr.value = ""; } function coinValuee() { coinValue.innerHTML = inputValue.valueAsNumber + "$"; inputValue.value = ""; } total.innerHTML = nrCoins * coinValue;
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

El problema es que tanto nrCoins como coinValue son HTMLElement . No son números. Es por eso que el NaN .

Para resolver esto, haz esto-

 total.innerHTML = nrCoins.innerHTML * coinValue.innerHTML;

Pero todavía hay un problema. Porque coinValue.innerHTML contiene el signo "$" al final. Necesitamos eliminarlo y multiplicarlo.

Así que la solución correcta será-

 total.innerHTML = nrCoins.innerHTML * coinValue.innerHTML.slice(0, coinValue.innerHTML.length - 1);

En una nota separada: la multiplicación de dos cadenas funciona siempre que sean representaciones válidas de números.

 console.log("12" * "12") console.log(" 12 " * " 12") console.log("12\n\r" * "12")

about 4 years ago · Juan Pablo Isaza Report

0

debe convertir el valor de entrada en number y devolverlo.

este es un ejemplo que le explica cómo usar su entrada y calcular total

 const inputPrice = document.getElementById('price'), inputQte = document.getElementById('qte'), SubmitButton = document.getElementById('btn') let total = 0 SubmitButton.addEventListener('click', function (e) { // e.preventDefault() for do not refresh the page e.preventDefault() // convert and assign price * qte to total // the + operator is to convert from string to number total = +inputPrice.value * +inputQte.value console.log(total) })
about 4 years ago · Juan Pablo Isaza Report

0

nrCoins y coinValue se refieren a elementos DOM y no puede multiplicarlos. En su lugar, devuelva su inputNr.value y inputValue.value de sus respectivas funciones y use esas funciones para multiplicar estos números, es decir

 function nrCoinss() { nrCoins.innerHTML = inputNr.valueAsNumber; inputNr.value = ""; return inputNr.valueAsNumber; } function coinValuee() { coinValue.innerHTML = inputValue.valueAsNumber + "$"; inputValue.value = ""; return inputValue.valueAsNumber; } total.innerHTML = nrCoinss() * coinValuee();
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!