[英]Getting [object HTMLInputElement] in display instead of number
[英]HTML5 form display [object HTMLInputElement][object HTMLInputElement] instead of actual result of addition of two numbers
我是html5和javascript的新手,並且正在使用html5和javascript編寫簡單的表單。 當我在netbeans中按run時,窗體按預期方式顯示在chromo中,但是當我輸入兩個數字並按add時,而不是在結果列中顯示3
,而是顯示[object HTMLInputElement][object HTMLInputElement]
。
有人可以告訴我為什么會這樣嗎? 如何解決此錯誤?
<html>
<head>
<title>TODO supply a title</title>
<link rel="shortcut icon" href=""><!--this is to be removed for production code, its been placed here because otherwise netbeans produce error message-->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript">
function addTwoNumbers() {
var firstNumber = document.getElementById("txtFirstNumber").valueOf();
var secondNumber = document.getElementById("txtSecondNumber").valueOf();
document.getElementById("txtResult").value = firstNumber + secondNumber;
}
</script>
</head>
<body>
<form>
First number<br>
<input type="text" ID="txtFirstNumber"><br>
Second number<br>
<input type="text" ID="txtSecondNumber"><br>
Result:<br>
<input type="text" ID="txtResult"><br>
<br>
<input type="button" value='add' id='btnAdd' onclick="addTwoNumbers()" />
</form>
</body>
</html>
使用
value
屬性作為Object.prototype.valueOf()
方法返回指定對象的原始值(在您的情況下為DOMElement
)
也將input-value
為Number
,然后進行操作,因為Element.value
返回一個String
而+
會將這些值連接起來而不是adding
!
Unary plus (+)
, unary plus operator
在其操作數之前並求值為其操作數,但是嘗試將其轉換為number
(如果尚未轉換為number
。
function addTwoNumbers() { var firstNumber = +document.getElementById("txtFirstNumber").value; var secondNumber = +document.getElementById("txtSecondNumber").value; //Output of `valueOf()` console.log(document.getElementById("txtFirstNumber").valueOf()); document.getElementById("txtResult").value = firstNumber + secondNumber; }
<form> First number <br> <input type="text" ID="txtFirstNumber"> <br>Second number <br> <input type="text" ID="txtSecondNumber"> <br>Result: <br> <input type="text" ID="txtResult"> <br> <br> <input type="button" value='add' id='btnAdd' onclick="addTwoNumbers()" /> </form>
使用.value
而不是.valueOf()
http://codepen.io/anthonyastige/pen/RRKmrz
var firstNumber = document.getElementById("txtFirstNumber").value
var secondNumber = document.getElementById("txtSecondNumber").value
var firstNumber = document.getElementById("txtFirstNumber").value;
var secondNumber = document.getElementById("txtSecondNumber").value;
使用值而不是valueOf
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.