2013-04-09 62 views
1

我正在使用Notepad ++创建一个简单的网页,其中用户在两个数字中键入一个文本框,然后按下一个按钮。当他们按下按钮时会出现一些信息,告诉他们第一个或第二个数字是否更大。我有下面的代码,但不能得到任何东西来。有谁知道最新错误?使用Javascript比较HTML中的两个输入数字?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head> 
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 
    <title>Assignment 10 Form</title> 

    <script type="text/javascript"> 

     function greaterNum(){ 
     var value1; 
     var value2; 
     value1 = document.First_num.value; 
     value2 = document.last_num.value; 
     if (value1 > value2){ 
     alert('Value 1 is greater than value 2'); 
     document.body.style.background = "orange"; 
     } 

    } 


</script> 


<style type="text/css"> 
    body{background-color: #40FF00; 
    margin-left: auto; 
    margin-right: auto; 
    width: 60%; 
    } 

#container{ 
    border: 2px solid yellow; 
    padding: 20px; 
    } 

</style> 

</head> 

<body> 
<h1>Assignment 10</h1> 

<div id="container"> 
    <div class="Num"> 
    <form> 
<label class="label1">Enter Value 1:</label> 
<input type="text" name="First_num" value=" " /> 
<label class="label1">Enter Value 2:</label> 
<input type="text" name="last_num" value=" " /> 
<br/> 
<input type="button" value=" Which number is greater? " onclick="greaterNum();" /> 
</form> 

</body> 
</html> 

回答

4

来自输入的值被检索为字符串,您需要将其转换为数字。试试这个:

value1 = +document.First_num.value; 
value2 = +document.last_num.value; 

此外,尝试命名你输入的时候,必须保持一致的原因之一,小写,其他上限?

-1

Html是一个字符串,而不是一个值。你需要在某种程度上解析它。

编辑:

的问题似乎抓住了值,将其更改为的getElementById,它工作正常:

http://jsfiddle.net/fHtZU/10/

HTML

<h1>Assignment 10</h1> 

<div id="container"> 
    <div class="Num"> 
    <form> 
<label class="label1">Enter Value 1:</label> 
<input type="text" id="First_num" name="First_num" /> 
<label class="label1">Enter Value 2:</label> 
<input type="text" id="last_num" name="last_num" /> 
<br/> 
<input type="button" id="clickme" value="Which number is greater?" onclick="greaterNum()" /> 
</form> 

JS

function greaterNum(){ 
    var value1; 
    var value2; 
    value1 = document.getElementById("First_num").value; 
    value2 = document.getElementById("last_num").value; 
    if (value1 > value2){ 
     alert(value1 - value2); 
     document.body.style.background = "orange"; 
    } 

} 
+0

我们如何解析这个HTML? – MathSquared 2013-04-09 23:51:09

+0

添加了更改。当我发布它时,jsfiddle不工作。 – dewyze 2013-04-10 17:37:32

+0

我并不是说要成为一个追求者,但是在未来,如果可能的话,请至少发布原始代码并在本地计算机上进行测试。感谢更新!! :-) – MathSquared 2013-04-11 20:52:32

0

您可能需要使用:

value1 = document.getElementById("First_num").value; 

然而,这仅作品如果分配id属性的元素:

<input type="text" id="First_num" name="First_num" value=" " /> 

否则,使用getElementsByName

希望这有助于!

0

转换为浮动。

value1 = parseFloat(document.First_num.value); 
value2 = parseFloat(document.last_num.value);