【问题标题】:Is there a way to make sure a variable doesn't change after a page refreshes? [duplicate]有没有办法确保页面刷新后变量不会改变? [复制]
【发布时间】:2019-05-13 22:51:33
【问题描述】:

我正在使用随机生成的数字制作数字猜谜游戏,但是当您猜数字时,数字会发生变化,我希望它保持不变,直到数字被正确猜出。这就是代码的样子,我不明白为什么每次猜测后数字都会改变。

<!DOCTYPE html> 
<html> 
<head> 
<title>Number Guessing Game</title> 

</head> 

<body> 
<h1>Guess The Number</h1> 

<p>A number has been randomly generated from 1- 50. Please try and     guess the number.</p> 

<form> 
<label for="guessField">Enter a guess: </label> 
<input type = "text" id = "guessField" class = "guessField"> 
<input type = "submit" value = "Submit guess"
    class = "guessSubmit" id = "submitguess"> 
</form> 

<script> 
// for some reason a new random number is generated after every guess
const randomnumber = Math.floor(Math.random()*50) +1;  

var guess = 0; 

document.getElementById("submitguess").onclick = function(){ 

var userguess = document.getElementById("guessField").value; 

if(userguess<1||userguess>50||isNaN(userguess)){
guess+=1;
alert("That is not a valid guess.")
}

else if(userguess == randomnumber) 
{    
alert("You got it in "
        + guess + " guess(es) "); 
} 
else if(userguess > randomnumber) 
{    
guess+= 1; 
alert("That guess is too high. Try again!"); 
} 
else 
{ 
guess+=1; 
alert("That guess is too low. Try again!") 
} 
} 

//this shows that it changes after every guess 
document.write(randomnumber)
</script> 

</body> 
</html>

【问题讨论】:

  • 您需要禁用刷新页面的表单提交

标签: javascript math


【解决方案1】:

&lt;input type="submit" .. &gt; 更改为&lt;button type="button" .. &gt;。 提交按钮正在提交页面并导致重新加载。

【讨论】:

    【解决方案2】:

    替换

    <input type="submit" value="Submit guess" class="guessSubmit" id="submitguess">
    

    <button type="button" class="guessSubmit" id="submitguess">Submit guess</button>
    

    因此,当您单击按钮时,您不会收到表单提交(因此,页面重新加载会重置所有 Javascript)。

    接下来,您需要将该输入字段的值转换为Number(输入字段值总是字符串)以便与数字进行比较:

    var userguess = parseInt(document.getElementById("guessField").value);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      相关资源
      最近更新 更多