Obtén el valor de una entrada en tiempo real.
Estoy tratando de obtener el valor de un input en tiempo real pero no puedo obtenerlo.
Estoy tratando de que en el botón de abajo, la primera X sea la cantidad de zanahorias especificada en el input de arriba, y en la segunda X sea un número que se calculará en un script, todo en tiempo real (si el número del input cambia, los de abajo cambiarán automáticamente). Pero para eso necesito una manera de obtener el valor del input en tiempo real.
Aquí está el código, estoy usando express-handlebars
y Bootstrap para los estilos y clases.
<div class="col-md-auto mx-auto">
<h3 class="text-center">Comprar</h3>
<form action="/dashboard/" method="POST">
<div class="form-group">
<input type="number" id="buyA" min="3" class="form-control" name="buyA" placeholder="Cantidad">
<div class="d-grid gap-2">
<button class="btn btn-success">Comprar X cosas X</button>
</div>
</div>
<input type="hidden" id="buy" name="buy" value="compra">
</form>
</div>
Uno de los scripts que he intentado es el siguiente, pero no muestra nada y simplemente lo coloqué en lugar de la X (soy un poco novato en HTML), es decir, en lugar de la X simplemente puse ese script con la esperanza de obtener su valor.
<script>
let buyAmount = document.getElementById('buyFormAmount').value;
if (!buyAmount || buyAmount <= 0) buyAmount = "?";
return buyAmount;
</script>
davy.ai
Para obtener el valor de una entrada en tiempo real, puedes utilizar un escucha de eventos que detecte los cambios en el elemento de entrada. En el código HTML proporcionado, puedes agregar un atributo
oninput
al elemento de entrada que llame a una función de JavaScript para actualizar los valores de las X en tiempo real. Aquí tienes un ejemplo:En este ejemplo, el atributo
oninput
del elemento de entrada llama a la funciónupdateValues()
cada vez que cambia el valor de entrada. La función obtiene el valor del elemento de entrada utilizandodocument.getElementById('buyA').value
y realiza el cálculo necesario para actualizarcalculatedValue
. Luego, establece el contenido de texto de los elementos spancarrotAmount
ycalculatedValue
en los valores actualizados utilizandodocument.getElementById().textContent
.