2015-02-24 150 views
-4

使用括號創建我的代碼,它確實運行了代碼。爲什麼Javascript不能正常工作?

不知何故,當我在w3school和codepen(odepen.io/pen/?editors=101)網站上測試我的代碼時,它工作正常。

有什麼想法嗎?

HTML代碼(無改變的代碼)

<table width="400" border="1" align="center"> 
<tr> 
    <td><div id="number1">1</div></td> 
    <td><div>+</div></td> 
    <td><div id="number2">2</div></td> 
    <td><div>=</div></td> 
    <td><input type="text"></input></td> 
    <td><input type="button" value="Check"></input></td> 

    </tr> 
</table> 

這是JavaScript代碼。如果我在codepen中運行此代碼,它工作正常。

//random number appear when start game 
var number1; 
var number2; 

number1 = Math.floor((Math.random() * 10) + 1); 
number2 = Math.floor((Math.random() * 10) + 1); 
document.getElementById("number1").innerHTML=number1; 
document.getElementById("number2").innerHTML=number2; 

//Answer 
var answer = number1 + number2; 
//add click handler with check answer 
var checkAnswer = document.querySelector('input[type=text]'); 
var value = checkAnswer.value; 
var btn = document.querySelector('input[type=button][value=Check]'); 


btn.onclick = function() 
    { 
if (value == answer) 
    { 
     alert('You are correct'); 
    } 
else{ 
     alert('You are incorrect, the answer was ' + answer); 
    } 

document.querySelector('input[type=text]').value = "";    
document.getElementById('number1').innerHTML = ""; 
document.getElementById('number2').innerHTML = ""; 
number1 = Math.floor((Math.random() * 10) + 1); 
number2 = Math.floor((Math.random() * 10) + 1); 
document.getElementById('number1').innerHTML = number1; 
document.getElementById('number2').innerHTML = number2; 

answer = number1 + number2 


}; 
+1

你問你爲什麼代碼有效嗎?它在哪裏工作? – 2015-02-24 17:16:03

+1

您的HTML中沒有腳本元素,因此腳本根本沒有被加載。 (您可能剛剛從問題中省略了代碼中的重要部分,但其定位可能很重要)。 – Quentin 2015-02-24 17:16:04

+1

請告訴我們,你期望你的代碼做什麼,代之以什麼。只是在某些環境中說「工作正常」不是問題描述。 – Teemu 2015-02-24 17:16:30

回答

-1

爲什麼難用:

<input type="text"></input> 

獲得容易的添加一些ID

<input type="text" id="theanswer"></input> 

獲得的價值:

var checkAnswer = document.getElementById('theanswer').value; 
0

網站類似CodePen和WC3創建腳本標籤,文檔類型和CSS鏈接。他們的目的是快速發展,所以他們離開這些重複的步驟。但是,您不能簡單地複製和粘貼他們的內容,並有生產就緒代碼。

您的HTML文檔需要有文檔類型和指向您的.js文件的鏈接。

<!doctype html> 
<html> 
    <head> 
     <meta charset="utf-8"> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
     <title></title> 
     <link rel="stylesheet" href="css/foo.css"> 
     <script src="js/foo.js"></script> 
    </head> 
    <body> 
     your table goes here 
    </body> 
</html>