Quiero que mi cuadro de entrada detecte un texto como este...
var input = document.getElemntById("inputbox"); function buttonclick() { if ((input = "h")) { input.innerHTML = "hello"; } } Esto es haciendo clic en el botón pero necesito hacer esto onkeyup() pero no sé cómo... si el usuario escribe h en el cuadro de entrada de repente dice hello , ¿cómo hago esto? Gracias por adelantado.
Realmente solo necesita un evento onkeyup en su etiqueta html.
var input = document.getElementById("inputbox"); function buttonclick() { if (input.value === "h") { input.value = "hello"; } } <input id="inputbox" onkeyup="buttonclick()"> Cuando se levanta la tecla, se llama a la función buttonclick() . También debe tomar el value de la entrada, ya que el HTML interno no se refiere a lo que se coloca dentro del cuadro de entrada, sino al código real que estaría entre, digamos, dos <div> </div> .
Agregue un eventListener:
document.getElementById("inputbox").addEventListener("keyup", (e) => { if (e.target.value == "h") e.target.value = "hello" }Tienes que hacer los siguientes cambios para que funcione:
1) TYPO : debe usar getElementById en lugar de getElemntById
var input = document.getElementById("inputbox"); 2) Puede usar el evento keyup como
input.addEventListener( "keyup", changeInputValue ) 3) Cuando esté verificando la igualdad de dos cadenas, use === . = es para asignación.
input.value.trim() === "h" 4) Tienes que comparar el value de la input con h .
input.value.trim() === "h"
NOTE:he usado el métodotrimporque si el usuario agrega algo de espacio antes deh, aún estableceráhello. Puedes quitarlo si no quieres.
var input = document.getElementById("inputbox"); function changeInputValue() { if (input.value.trim() === "h") { // input.value === "h" input.value = "hello"; } } input.addEventListener("keyup", changeInputValue) <input type="text" id="inputbox" />