将用户输入的数字与Javascript中随机生成的数字进行比较

时间:2017-05-07 15:07:23

标签: javascript html

我想创建一个随机生成的数字,要求用户输入一个数字,然后比较两者,然后显示一个弹出窗口,告诉他们是否匹配。这是我的代码



     function myFunction() {
     var num=document.getElementById("demo").innerHTML = Math.floor(1000 + Math.random() * 9000);

     }

     function myFunction1() {

     var secondInput = document.getElementById("demo1").value;


     if( num === secondInput)
     {
     window.alert("Same");
     }
     else
     {
     window.alert("Don't do that again  cvv");
     }

     <button onclick="myFunction()">press the button to see the code</button>
     <p id="demo"></p>

     code: <input type="text" name="code" required/><br/><br/>

    <button onclick="myFunction1()">Compare</button>	
    <p id="demo1"></p> 
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:0)

此代码有效。请注意,有一些改进:

  • 在加载javascript之前,您引用了myFunction()
  • 如果要在其他地方引用var num而不将其作为参数传递,则需要将var var num; function myFunction() { num=document.getElementById("demo").innerHTML = Math.floor(1000 + Math.random() * 9000); } document.getElementById("button1").addEventListener('click', myFunction) document.getElementById("button2").addEventListener('click', myFunction1) function myFunction1() { var secondInput = document.getElementById("demo1").value; if( num === +secondInput) { window.alert("Same"); } else { window.alert("Don't do that again cvv"); } }保留在全局范围内。
  • 比较值时,请务必选择正确的输入字段并将值字符串转换为数字。

&#13;
&#13;
 <button id="button1" >press the button to see the code</button>
     <p id="demo"></p>

     code: <input id="demo1" type="text" name="code" required/><br/><br/>

    <button id="button2">Compare</button>	
    <p></p> 
&#13;
fitdist
&#13;
&#13;
&#13;

答案 1 :(得分:0)

首先,你必须在全局范围内定义id才能被两个函数访问,你必须让第一个函数只显示数字,而不是每次都生成一个新数字。

num
 

var num;
function show() {
	document.getElementById("demo").innerHTML = num;
}

 function randomizeAndCompare() {
	 num = Math.floor(1000 + Math.random() * 9000);
	 var secondInput = document.getElementById("demo1").value;
	 if( num === secondInput){
	 	window.alert("Same");
	 }
	 else{
	 	window.alert("Don't do that again  cvv");
	 }
}

答案 2 :(得分:0)

这里有几个铃声。

首先,myFunction1()未关闭。您还应该将其重命名为更有意义的内容,例如“compareValue()”。这样就更容易阅读代码。

您还没有比较compareValue()函数中的两个数字。您的'num'变量未定义。您还尝试从按钮中提取用户输入值。

请参阅我的更改建议:

function generateRandom() {
    document.getElementById("demo").innerHTML = Math.floor(1000 + 
    Math.random() * 9000);
}

function compareValues() {
    var num = document.getElementById("demo").innerHTML;
    var input = document.getElementById("number").value;

    if( num === input)
    {
        window.alert("Same");
    }
    else
    {
        window.alert("Don't do that again  cvv");
    }
}

HTML:

<button onclick="generateRandom()">press the button to see the code</button>
<p id="demo"></p>

code: <input id="number" type="text" name="code" required/><br/><br/>

<button onclick="compareValues()">Compare</button>    
<p id="demo1"></p>