2014-01-24 51 views
2


我目前正在使用HTML和Javascript編寫一些代碼。我正在建立自己的迷你Javascript計算器,可以使用HTML'GUI'運行簡單的添加 - 如果你這樣做。代碼如下。爲什麼我的警報總是顯示錯誤的信息? (另外)

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<link href="stylesheet/calculator.css" type="text/css" rel="stylesheet" /> 
<script> 
    function activeButton() { 
     if (document.getElementById("radioAdd").checked === true) { 
      var valueOne = Number(document.getElementById("number1".value)); 
      var valueTwo = Number(document.getElementById("number2".value)); 
      var result = valueOne + valueTwo; 
     alert("Your Result Is " + result); 
     }  
    } 
</script> 
</head> 
<body> 
<div id="wrapper"> 
     <div id="form-move"> 
      <form name = "calculator" id="calculator"> 
       <div id="numberInput"> 
        <input type="number" name="inputNumber1" id="number1" placeholder="Type or Select Your First Number" /> 
        <input type="number" name="inputNumber2" id="number2" placeholder="Type or Select Your Second Number" /> 
       </div> 
       <div id="radio-input"> 
         <span class="title">Operators:</span> 
        <input type="radio" name="radioInputAdd" id="radioAdd" value="Addition" /> 
         <label for="radioAdd">Addition</label> 
        <input type="radio" name="radioInputAdd" id="radioDivision" value="Division" /> 
         <label for="radioDivision">Division</label> 
        <input type="radio" name="radioInputAdd" id="radioMultiply" value="Multiplication" /> 
         <label for="radioMultiply">Multiply</label> 
        <input type="radio" name="radioInputAdd" id="radioSubtract" value="Subtraction" /> 
         <label for="radioSubtract">Subtract</label> 
       </div> 
       <div class="submit"> 
        <input type="submit" value="Enter" id="submit" onclick="activeButton()" /> 
       </div> 
      </form> 
     </div> 
</div> 

有在頁面中間的兩個輸入框,只接受數字。
下面是四個單選按鈕 - 添加,除法,乘法和減法。現在,您可以看到頁面頂部的JavaScript。

我遇到的問題是,當我運行該頁面並且想要添加兩個數字時,代碼可以正常工作,但答案是0.我已經在Chrome中測試了這一點,而且這種情況一直髮生。

有人可能請幫忙嗎?

回答

8

問題在於你如何試圖從輸入元素中獲取值。在此代碼:

var valueOne = Number(document.getElementById("number1".value)); 
var valueTwo = Number(document.getElementById("number2".value)); 

你試圖從"number1",這是undefined得到value屬性,那麼傳球,爲document.getElementById,這將返回null,然後遞過來Number,這將返回0

試試這個這個代替:

var valueOne = Number(document.getElementById("number1").value); 
var valueTwo = Number(document.getElementById("number2").value); 
6

試試這個:

var valueOne = Number(document.getElementById("number1").value); 
var valueTwo = Number(document.getElementById("number2").value); 

你在錯誤的地方paranthesis。

+0

也謝謝!我非常感謝你的幫助! –

相關問題