2015-02-24 151 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>