2014-09-10 63 views
1

我在javaScript中做了一些簡單的函數。但是,當我打印結果時,我得到了正確的乘法和除法結果,但沒有加法和減法。javascript中的簡單計算器不會因爲它應該

爲什麼這個功能幾乎是一致的。

  <script type="text/javascript"> 
      function multiplyBy() 
      { 
       num1 = document.getElementById("firstNumber").value; 
       num2 = document.getElementById("secondNumber").value; 
       document.getElementById("result").innerHTML = num1 * num2; 
      } 

      function divideBy() 
      { 
       num1 = document.getElementById("firstNumber").value; 
       num2 = document.getElementById("secondNumber").value; 
       document.getElementById("result").innerHTML = num1/num2; 
      } 

      function addition() { 
       num1 = document.getElementById("firstNumber").value; 
       num2 = document.getElementById("firstNumber").value; 
       document.getElementById("result").innerHTML = num1 + num2; 
      } 

      function subtract() { 
       num1 = document.getElementById("firstNumber").value; 
       num2 = document.getElementById("firstNumber").value; 
       document.getElementById("result").innerHTML = num1 - num2; 
      } 
      </script> 

<body> 
<form> 
      <p>1st Number: <input type="text" id="firstNumber" /><br></p> 
      <p>2nd Number: <input type="text" id="secondNumber" /><br></p> 
      <input type="button" class="btn btn-success" onClick="multiplyBy()" Value="Multiply" /> 
      <input type="button" class="btn btn-warning" onClick="divideBy()" Value="Divide" /> 
      <input type="button" class="btn btn-danger" onClick="addition()" Value="Add" /> 
      <input type="button" class="btn btn-primary" onClick="subtract()" Value="Subtract" /> 
     </form> 
     <br/> 
     <p>The Result is : <br/> 
      <span id = "result"></span> 
     </p> 
</body> 
+2

你得到一個字符串來自'.value'調用,你應該首先使用'parseFloat()'或'parseInt()'將其轉換爲數字。否則「+」運算符是一個字符串運算符... – Sirko 2014-09-10 10:17:02

+1

嘗試'Number(num1)+ Number(num2)' – iJade 2014-09-10 10:17:13

回答

3

變化

 function addition() { 
      num1 = document.getElementById("firstNumber").value; 
      num2 = document.getElementById("firstNumber").value; 
      document.getElementById("result").innerHTML = num1 + num2; 
     } 

     function subtract() { 
      num1 = document.getElementById("firstNumber").value; 
      num2 = document.getElementById("firstNumber").value; 
      document.getElementById("result").innerHTML = num1 - num2; 
     } 

 function addition() { 
      num1 = parseInt(document.getElementById("firstNumber").value); 
      num2 = parseInt(document.getElementById("secondNumber").value); 
      document.getElementById("result").innerHTML = (num1 + num2); 
     } 

     function subtract() { 
      num1 = parseInt(document.getElementById("firstNumber").value); 
      num2 = parseInt(document.getElementById("secondNumber").value); 
      document.getElementById("result").innerHTML = (num1 - num2); 
     } 

三件事,分析輸入的號碼,使用正確的ID爲NUM2,做計算括號內是安全的

1

您的加法/減法功能有拼寫錯誤。兩個都得到'firstNumber'!哦,小東西...... ;-)

你也可以嘗試先前評論中提到的parseInt(),parseFloat()函數,以確保你正在處理正確的數據類型。

+1

仍然不行...... – iJade 2014-09-10 10:19:27

+0

@iJay - 除了加法。這實際上是問題解決方案的一部分。強制類型是'+'運算符的問題,'-'運算符應該正確運行。 – bPratik 2014-09-10 10:20:45

+0

@iJay - 現在,通過編輯,這是一個完整的答案。 – bPratik 2014-09-10 10:23:35