He estado tratando de hacer que esto funcione por un tiempo, pero parece que mi novato no puede entender esto. Puedo consolar. registrar la moneda, pero parece que no puedo hacer que se multiplique con la entrada "btcnumber" y luego actualizar .innerText
const api_url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin%2Cethereum%2Cbinancecoin%2Ccardano%2Csolana%2Cterra-luna&vs_currencies=usd"; async function getData() { const response = await fetch(api_url); const data = await response.json(); console.log(data.bitcoin.usd); } getData(); function coinValue() { let bitcoin = parseInt(document.getElementById("btcnumber") * (data.bitcoin.usd)); document.getElementById("cv").innerText = bitcoin.toFixed(8); } document.addEventListener("DOMContentLoaded", function() { let submit = document.getElementById("calculateButton"); calculateButton.addEventListener("click", function() { coinValue() }) })
<input id="btcnumber" type="number" class="form-control" placeholder="Number Purchased"> <button id="calculateButton" onclick=coinValue()>Calculate</button> <h4>CURRENT VALUE <span id="cv"></span></h4>
Ocurre porque en la función coinValue()
la variable data
no existe. Haz que sea una variable global colocándola fuera de la función.
También dentro de la función coinValue()
tienes que agregar .value
al final de tu multiplicación para obtener el valor real de la entrada.
let data; const api_url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin%2Cethereum%2Cbinancecoin%2Ccardano%2Csolana%2Cterra-luna&vs_currencies=usd"; async function getData() { const response = await fetch(api_url); data = await response.json(); console.log(data.bitcoin.usd); } getData(); function coinValue() { let bitcoin = parseInt(document.getElementById("btcnumber").value * (data.bitcoin.usd)); document.getElementById("cv").innerText = bitcoin.toFixed(8); } document.addEventListener("DOMContentLoaded", function() { let submit = document.getElementById("calculateButton"); calculateButton.addEventListener("click", function() { coinValue() }) })
<input id="btcnumber" type="number" class="form-control" placeholder="Number Purchased"> <button id="calculateButton" onclick=coinValue()>Calculate</button> <h4>CURRENT VALUE <span id="cv"></span></h4>