【问题标题】:HTML calculator , + doesnt worksHTML 计算器,+ 不起作用
【发布时间】:2015-05-06 23:05:25
【问题描述】:

我做了一个计算器,但是+ 不起作用,为什么? -> 如果你想要 + 一些东西,你必须按下按钮:sečíst....

<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>

【问题讨论】:

    标签: html forms button label fieldset


    【解决方案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>
    

    【讨论】:

    • 这是因为 * / 和 - 要求操作数自动转换为数字。在 + 的情况下,它认为您想将字符串组合/附加在一起。请参阅我的代码更改编辑。
    • 女性在这里...我们也可以编码! :-) 请接受我的回答。谢谢。
    • 对不起,姐姐:D,我需要等待 5 分钟,我会等待:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多