[英]Calculator made with html/javascript doesn't work properly in some devices
[英]Why doesn't this simple HTML/JavaScript calculator work?
這是我的代碼:
<!DOCTYPE html> <html> <header></header> <body> <label id="FirstNumber">First Number:</label> <input type="text" id="number1"> <br> <label id="SecondNumber">Second Number:</label> <input type="text" id="number2"> <br> <button id="add" onclick="add()">Add</button> <button id="multiply" onclick="multiply()">Multiply</button> <br> <label id="FinalNumberLabel">Answer:</label> <label id="Answer"></label> <script type="text/javascript"> function add() { var num1 = document.getElementById("number1"); var num2 = document.getElementById("number2"); var answer = num1 + num2; document.getElementById("Answer").innerHTML = answer; } function multiply() { var num1 = document.getElementById("number1"); var num2 = document.getElementById("number2"); var answer = num1 * num2; document.getElementById("Answer").innerHTML = answer; } </script> </body> </html>
“乘”按鈕返回“ NaN”錯誤,而“添加”按鈕始終返回“ [objectHTMLInputElement] [objectHTMLInputElement]”
為什么不起作用?
您沒有得到值,只有元素:
var num1 = document.getElementById("number1");
在這種情況下, num1
實際上不是數字,而是一個objectHTMLInputElement
。
您可能想從以下內容開始:
var num1 = parseFloat(document.getElementById("number1").value);
也許還添加一些錯誤檢查,或指定輸入需要為數字等。
.value->您不想要輸入元素,您想要它包含的值
parseInt->您想要數字而不是字符串(或者如果要浮動則為parseFloat)
function add() { var num1 = parseInt(document.getElementById("number1").value); var num2 = parseInt(document.getElementById("number2").value); var answer = num1 + num2; document.getElementById("Answer").innerHTML = answer; } function multiply() { var num1 = parseInt(document.getElementById("number1").value); var num2 = parseInt(document.getElementById("number2").value); var answer = num1 * num2; document.getElementById("Answer").innerHTML = answer; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.