2014-10-11 1 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

*/- работает, только + оленья кожа, строки не такой плохой я думаю .. –

+0

Это потому, что */и - требует, чтобы операнды преобразуются в числа автоматически. В случае +, он думает, что вы хотите объединить/добавить строки вместе. См. Мое изменение для изменения кода. – ariscris

+0

спасибо, работы брата :) –