Javascript 当我点击按钮时什么也没发生

Javascript 当我点击按钮时什么也没发生,javascript,Javascript,我试图制作一个简单的网页,用户输入一个数字,网页告诉用户他们输入的数字是偶数还是奇数。我想在屏幕底部的文本框中显示它 但是,当我单击按钮时,什么也没有发生。我甚至尝试在按下按钮时添加一个“警报”,但即使这样也没有发生。代码如下: 计算正整数的因子 函数oddOrEven(){ var userInput=document.getElementById('number'); var number=number.value; var output=document.getElementById(

我试图制作一个简单的网页,用户输入一个数字,网页告诉用户他们输入的数字是偶数还是奇数。我想在屏幕底部的文本框中显示它

但是,当我单击按钮时,什么也没有发生。我甚至尝试在按下按钮时添加一个“警报”,但即使这样也没有发生。代码如下:


计算正整数的因子
函数oddOrEven(){
var userInput=document.getElementById('number');
var number=number.value;
var output=document.getElementById('display');
警报(编号);
如果(数字%2==0){
output.value=number+“是偶数!”
}否则{
output.value=number+“是奇数!”
}
}
输入一个数字以检查它是奇数还是偶数:
点击这里查看!
我看到您的代码中有几个输入错误,我认为这是一个修改过的版本:

<!DOCTYPE html>  
<html>  
<head>  
<meta charset=utf-8 />  
<title>Compute the factors of a positive integer</title> 
<script type = "text/javascript">
function oddOrEven(){

 var userInput = document.getElementById('number');
 var number = userInput.value; // you originally had "number.value", but that doesn't make any sense.
 number = parseInt(number); // number is initialy a string, we need to convert it to an integer
 var output = document.getElementById('display');
 alert(number);

 if(number % 2 == 0){
    output.value = number + " is even!"
 }else{
    output.value = number + " is odd!"
 }
 }
</script>     
</head>  
<body>
<form>
Enter a number to check whether it is odd or even: <input type = "text" id = "number"><br>
<button type="button" onclick="oddOrEven()">Click here to check!</button>
<input type = "text" id = "display">
</form>
</body>  
</html>  

计算正整数的因子
函数oddOrEven(){
var userInput=document.getElementById('number');
var number=userInput.value;//您最初有“number.value”,但这没有任何意义。
number=parseInt(number);//number最初是一个字符串,我们需要将其转换为整数
var output=document.getElementById('display');
警报(编号);
如果(数字%2==0){
output.value=number+“是偶数!”
}否则{
output.value=number+“是奇数!”
}
}
输入一个数字以检查它是奇数还是偶数:
点击这里查看!
在这里看一下这三行:

 var userInput = document.getElementById('number');
 var number = number.value;
 alert(number);
您已检索到对#number元素的引用,并将其存储在userInput变量中。然后,您创建了一个名为“number”的变量,但您为其指定的值是您刚刚创建的变量的属性

但是,存储在number变量中的此对象引用没有此属性,这会导致运行时错误。在浏览器中运行此脚本时,尝试按F12键,查看控制台中出现的错误

相反,尝试一下,看看你会有什么反应:

 var userInput = document.getElementById('number');
 var number = userInput.value;
 number = parseInt(number);
你犯了一个错误

你写道:

var number = number.value;
你应该写:

var number = userInput.value;

你有firebug或者类似的东西来调试你的代码吗?如果没有,你应该安装它。它将显示2个错误
var number=number.value?是的,这不就是用户输入文本框的值吗?文本框“id”被命名为“number”。@NicholasRoberts那么为什么要添加var userInput=document.getElementById('number');?只需检查控制台,您就会看到问题。var userInput=document.getElementById('number');变量编号=编号。值;?!非常感谢你。我想你必须把“ID”值放在“value”之前,这就是我最初使用number.value的原因,因为“number”是那个文本框的ID。我看到了我的错误。非常感谢。还有一个问题,为什么之前的错误阻止了我的警报弹出?现在,警报会很好地弹出。如果脚本中存在运行时错误,则会完全停止脚本的执行。你的脚本根本没有运行。