2013-10-26 70 views
0
function calculate() 
{ 
var num1 = document.getElementById("input1").value; 
var num2 = document.getElementById("input2").value; 
var operator = document.getElementById("operation"); 
var totalNum = document.getElementById("total"); 
if (operator == "+") 
{ 
    parseDouble(totalNum = num1 + num2); 
} 
else if(operator == "-") 
{ 
    parseDouble(totalNum = num1 - num2); 
} 
total.value = totalNum; 
} 

我的輸出是[對象HTMLInputElement]。 如何區分數學運算?如何在數學運算符中輸入用戶密鑰

+0

嘗試'開關(){情況..}' – hjpotter92

+0

另外,我想你想'的document.getElementById( 「操作」)。value'有 – hjpotter92

+0

嘗試'operator.value'(或^) –

回答

0

您的代碼不會給出意外的結果,因爲它無法區分數學運算。代碼中還有其他一些錯誤。

function calculate() 
{ 
    var num1 = parseDouble(document.getElementById("input1").value); 
    var num2 = parseDouble(document.getElementById("input2").value); 
    var op = document.getElementById("operation").value; 
    var total = document.getElementById("total"); 
    if (op == "+") 
    { 
    total.value = num1 + num2; 
    } 
    else if(op == "-") 
    { 
    total.value = num1 - num2; 
    } 
} 
+0

雖然有另一個錯誤。另外,一些解釋的話會很好 –

+0

我沒有看到它。 – Oswald

+0

'var totalNum'應該是'var total' –

0
var totalNum = document.getElementById("total"); 

totalNum集到一個場的參考。我相信你希望它是

var total = document.getElementById("total"); 

在這裏。另外,你需要

var operator = document.getElementById("operation").value; 

注意.value到底。沒有這個,operation既不是"+""-",所以if的不執行。因此,以total以某種方式參考的字段的值爲totalNum( - >totalNum.toString()),它是對結果字段的引用,並且變爲[Object HTMLInputElement]

0
function calculate() 
{ 
    var num1 = parseDouble(document.getElementById("input1").value), 
    num2 = parseDouble(document.getElementById("input2").value), 
    operator = document.getElementById("operation").value, 
    totalNum, 
    total = document.getElementById("total"); 
    if (operator == "+") 
    { 
     totalNum = num1 + num2; 
    } 
    else if(operator == "-") 
    { 
     totalNum = num1 - num2; 
    } 
    total.value = totalNum; 
}