Intento ver si la palabra ingresada en el formulario es la correcta. Si es correcto, abro otra página y, de lo contrario, aparecerá un mensaje de error, pero no sé cómo hacer el script para esto. Además, no quiero usar un botón de envío.
<form id="form"> <input type="text" name="inputBox" placeholder="Enter your answer"><br> </form> const input = document.querySelector('input'); const error = document.querySelector('p.error'); const woohoo = document.querySelector('p.woohoo'); const correctAnswer = 'foo bar baz'; const handleInput = (condition) => { if (condition) { error.style.display = 'block'; woohoo.style.display = 'none'; return; } error.style.display = 'none'; woohoo.style.display = 'block'; window.open('https://google.com'); }; input.addEventListener('keyup', () => handleInput(input.value !== correctAnswer)); <form id="form"> <input type="text" name="inputBox" placeholder="Enter your answer" /> <p class="error" style="color: red; display: none">Incorrect</p> <p class="woohoo" style="color: green; display: none">Correct</p> </form>Prueba esto: En este código compruebo con el evento clave, si presiono enter llamo y pregunto si la respuesta es "Hola" es correcta y abro otra página, de lo contrario, envío una alerta con un error.
<form id="form"> <input id="MyEnter" type="text" name="inputBox" placeholder="Enter your answer"><br> </form> <script> var myenter = document.getElementById("MyEnter"); myenter.addEventListener("keypress", function(event) { if (event.key === "Enter") { event.preventDefault(); var answer = 'Hello' var mytext = document.getElementById("MyEnter").value; if (mytext==answer) { alert('opening another page'); window.open("https://www.google.com"); }else{ alert("Incorrect answer"); } } }); </script>