2012-09-27 205 views
-2

我想製作一個簡單的計算器,一個人會把兩個值,然後點擊一個按鈕時,一個警報框會給出結果。但它不起作用。爪哇腳本計算器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<script type="text/javascript"> 

<!--//onclick handler //--> 
function gonum() 
{ 
var input1=document.getElementById('a').value; 
var operator=document.getElementById('op').value; 
var input2=document.getElementById('b').value; 


    if (operator=="+") 
    { 
     add(input1,input2); 
    } 
} 


function add(input1,input2) 
{ 
    alert(input1+input2); 
} 


</script> 
</head> 
<body> 
<form> 
<input type="text" name="a"/> 
<input type="text" name="op"/> 
<input type="text" name="b"/> 
<input type="button" value="=" name="btn" onClick="gonum()" /> 
</form> 
</body> 
</html> 
+0

更具體的,什麼是不工作? – CrazyCasta

回答

5

一個明顯的問題,我看是這樣的:

var input1=document.getElementById('a').value; 
var operator=document.getElementById('op').value; 
var input2=document.getElementById('b').value; 

與此相結合:

<input type="text" name="a"/> 
<input type="text" name="op"/> 
<input type="text" name="b"/> 

注意,你不給予任何標識的輸入元素;然而,你的JavaScript試圖通過他們(不存在的)ID來調用它們。

你的HTML改成這樣,你應該是金:

<input type="text" name="a" id="a"/> 
<input type="text" name="op" id="op"/> 
<input type="text" name="b" id="b"/> 
+0

謝謝我這個廣告,我得到了警報框,但當添加1 + 1例如'我得到11而不是兩個。這意味着數字被視爲文本。我改變了輸入類型爲數字而不是文本,但它沒有幫助! – Sarahfromnowhere

+0

輸入字段中的type屬性會影響可以輸入的內容,而不會影響其值的數據類型(始終是字符串)。您需要將輸入字段的值傳遞給parseInt(),parseInt()會將它們轉換爲整數。 – pbeardshear

+0

謝謝喬,明白了! – Sarahfromnowhere