Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

240
Visualizações
Seguir restando de un valor de entrada

Estoy creando un sistema de apuestas y quiero restar una apuesta de un valor de entrada cada vez que el usuario hace clic en un botón, pero lo hace solo una vez. Sé por qué lo hace (siempre toma el primer valor) pero no tengo idea de cómo ordenarlo. Guardé el valor en otra variable y lo cambié a un Número.

Lo que he probado hasta ahora.

 let btnCredit = document.getElementById("btn-credit"); btnCredit.addEventListener("click", balance); <div class="inputs"> <input type="number" id="inputCredit" placeholder="Insert your credit" /> <button id="btn-credit" class="btn-credit" >Submit credit</button> <fieldset> <legend class="legend">Select a bet:</legend> <input type="radio" name="bet" id="10" value="10" /> <label>£10</label> <input type="radio" name="bet" id="50" value="50" /> <label>£50</label> <input type="radio" name="bet" id="100" value="100" /> <label>£100</label> </fieldset> <p id="balance">Balance: £</p> </div> function balance() { let inputCredit = document.getElementById("inputCredit").value; let credit = Number(inputCredit); let bet; if (document.getElementById("10").checked) { bet = Number(document.getElementById("10").value); } else if (document.getElementById("50").checked) { bet = Number(document.getElementById("50").value); } else { bet = Number(document.getElementById("100").value); } document.getElementById("balance").innerText = `Balance: £ ${(credit -= bet)}`; }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Puede asignar el nuevo crédito al valor del elemento de input (haciendo que la salida del saldo sea un poco innecesaria). Reemplace esto:

 document.getElementById("balance").innerText = `Balance: £ ${(credit -= bet)}`;

Con:

 credit -= bet; document.getElementById("inputCredit").value = credit; document.getElementById("balance").innerText = `Balance: £ ${credit}`;
about 4 years ago · Juan Pablo Isaza Relatório

0

Es porque está restableciendo la variable de credit cada vez que se hace clic en el botón.

Puede agregar una variable global para almacenar eso ( let credit fuera de su función).

En su función, si la variable está configurada, use su valor, de lo contrario, configúrela en el valor de entrada (operador ?? ).

 let credit function balance() { let inputCredit = document.getElementById("inputCredit").value; credit = credit ?? Number(inputCredit); let bet; if (document.getElementById("10").checked) { bet = Number(document.getElementById("10").value); } else if (document.getElementById("50").checked) { bet = Number(document.getElementById("50").value); } else { bet = Number(document.getElementById("100").value); } document.getElementById("balance").innerText = `Balance: £ ${(credit -= bet)}`; }
 <div class="inputs"> <input type="number" id="inputCredit" placeholder="Insert your credit" /> <button id="btn-credit" class="btn-credit" onclick="balance()">Submit credit</button> <fieldset> <legend class="legend">Select a bet:</legend> <input type="radio" name="bet" id="10" value="10" /> <label>£10</label> <input type="radio" name="bet" id="50" value="50" /> <label>£50</label> <input type="radio" name="bet" id="100" value="100" /> <label>£100</label> </fieldset> <p id="balance">Balance: £</p> </div>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda