2014-10-11 116 views
0

我做了一個計算器,但+不起作用,爲什麼? - >如果你想+的東西,你必須按下按鈕:sečíst....它不+,但它的一些不好的方式寫就,一起來看看:http://jsfiddle.net/p77roqhr/HTML計算器,+不工作

<pre> 
<!DOCTYPE html> 
<html lang="cs-CZ"> 
    <head> 
     <meta charset="UTF-8"> 
     <meta name="generator" content="Prace"> 
     <link rel="stylesheet" href="online_kalkulacka.css"> 
     <title>kalkulačka</title> 
    </head> 
    <body>   
     <h1>Kalkulačka</h1> 
     <form name="kalkulacka"> 
      <fieldset> 
       <div id="cislo1"> 
        <label for="vypln_cislo1">zadej zde první číslo</label> <input id="1" type="number" name="prvni" min="0" max="10000"> 
       </div> 
       <div id="cislo2"> 
        <label for="vypln_cislo2">zadej zde druhé číslo</label> <input id="2" type="number" name="druhe" min="0" max="10000"> 
       </div> 
        <button id="b1" onclick="document.getElementById('3').innerText = document.getElementById('1').value + document.getElementById('2').value; return false;">sečíst</button> 
        <button id="b2" onclick="document.getElementById('3').innerText = document.getElementById('1').value - document.getElementById('2').value; return false;">odečíst</button> 
        <button id="b3" onclick="document.getElementById('3').innerText = document.getElementById('1').value/document.getElementById('2').value; return false;">vydělit</button> 
        <button id="b4" onclick="document.getElementById('3').innerText = document.getElementById('1').value * document.getElementById('2').value; return false;">vynásobit</button> 
       <div id="vysledek"> 
        výsledek je : 
        <br> 
        <div id="vysledek2"> 
         <span id="3"></span> 
        </div> 
       </div> 
      </fieldset> 
     </form> 
    </body> 
</html> 

</pre> 

回答

1

你必須首先將每個數字轉換爲數字,然後將它們像數字一樣添加,而不是進行字符串連接。尋找parseInt()

更改您的代碼

<button id="b1" onclick="document.getElementById('3').innerText = parseInt(document.getElementById('1').value, 10) + parseInt(document.getElementById('2').value, 10); return false;">sečíst</button> 
+0

*/- 工程,只有+犯規,字符串不是這麼糟糕,我認爲.. – 2014-10-11 18:22:36

+0

這是因爲* /和 - 要求操作數都會自動轉換成數字。在+的情況下,它認爲你想要將字符串組合/附加在一起。查看我編輯的代碼更改。 – ariscris 2014-10-11 18:24:28

+0

謝謝,作品兄弟:) – 2014-10-11 18:27:28