tengo este codigo:
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> </head> <body> <form> <input placeholder="GUEEEEEEEEEEEEEEEEEEEES" name="guess" id="guess"/> <input type="submit" onclick="check()" value="EEEE"/> </form> <h1 id="score"></h1> </body> <script> var answer = Math.floor(Math.random()*100); var score = 0; function check(){ var guess = document.getElementById("guess").value; var guessInt = parseInt(guess); if (parseInt(guess) == answer) { alert("you got it!") } else if (parseInt(guess) > answer) { alert("too high") } else if (parseInt(guess) < answer) { alert("too low") } } document.getElementById("score").innerHTML = score; // < display score </script> y en el javascript, defino la respuesta de la variable, pero cada vez que se ejecuta check(), la variable obtiene un nuevo valor, cuando adivino, obtengo un valor demasiado alto o demasiado bajo o lo recibió alerta y sé que las variables se vuelven nuevas valores cada vez que introduzco una nueva conjetura porque verifico cuál es la variable (usando un punto de interrupción para hacer una pausa) y luego introduzco la respuesta correcta. Vuelvo a ejecutar el código e introduzco la respuesta correcta y luego lo reviso de nuevo y es diferente.Obtiene un nuevo valor, porque no está evitando que se envíe el formulario, por lo tanto, está recargando la página después de cada clic en el botón. Intente cambiar la entrada que tiene el detector de clics para verificar, a un tipo de botón de no envío, es decir:
En lugar de <input type="submit" onclick="check()" value="EEEE"/> , utilice <button type='button' onclick='check()'>Submit</button>
Intente usar event.preventDefault() para evitar que el formulario vuelva a cargar la página cada vez que se envía.
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> </head> <body> <form> <input placeholder="GUEEEEEEEEEEEEEEEEEEEES" name="guess" id="guess"/> <input type="submit" onclick="check(event)" value="EEEE"/> </form> <h1 id="score"></h1> </body> <script> var answer = Math.floor(Math.random()*100); var score = 0; function check(event){ event.preventDefault() var guess = document.getElementById("guess").value; var guessInt = parseInt(guess); if (parseInt(guess) == answer) { alert("you got it!") } else if (parseInt(guess) > answer) { alert("too high") } else if (parseInt(guess) < answer) { alert("too low") } } document.getElementById("score").innerHTML = score; // < display score </script>