2017-05-07 66 views
-1

我想創建一個隨機生成的號碼,要求用戶輸入一個號碼,然後比較兩個號碼,然後顯示一個彈出窗口,告訴他們是否匹配。這是我的代碼比較用戶輸入的號碼和Javascript中隨機生成的號碼

 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> \t 
 
    <p id="demo1"></p>

+0

'的document.getElementById( 「demo1的」)value'現在就在你的HTML看看哪一種元素是' demo1' –

+1

那麼,你的問題是什麼? –

+0

它不起作用 –

回答

0

此代碼的工作。請知道有幾個改進:

  • 您在加載JavaScript之前引用myFunction()
  • 如果您想在其他地方引用var,請將var num保留在全局範圍內,而不要將它們作爲參數傳遞。
  • 比較值時,請確保選擇正確的輸入字段並將值字符串轉換爲數字。

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() { 
 
\t var secondInput = document.getElementById("demo1").value; 
 
    if(num === +secondInput) { 
 
    window.alert("Same"); 
 
    } 
 
    else { 
 
    window.alert("Don't do that again cvv"); 
 
    } 
 
}
<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> \t 
 
    <p></p>

0

首先,你必須在全球範圍內定義num是由兩個功能accessable,你必須做出的第一個函數只顯示號碼而不會產生一個新的數量每年都時間。


 

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

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

 

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

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

 
<button onclick="randomizeAndCompare()">Compare</button> \t 
 
<p id="demo1"></p>

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> 
+0

非常感謝你完美的作品 –