我创建了一个简单的程序,它需要添加1和3并显示4但它显示我13这是我的程序:
<html>
<head>
<style>
</style>
<script type="text/javascript">
function calculate(){
a = document.getElementById('num1').value;
b = document.getElementById('num2').value;
document.getElementById('result').innerHTML = a + b;
}
</script>
</head>
<body>
<input id='num1' value="1"/>
<input id='num2' value='3'/>
<p id='result'></p>
<button onclick="calculate()">Calculate</button>
</body>
</html>
我现在该怎么办?
答案 0 :(得分:2)
您必须转换为整数。看看这段代码。
function calculate(){
a = parseInt(document.getElementById('num1').value, 10);
b = parseInt(document.getElementById('num2').value, 10);
document.getElementById('result').innerHTML = a + b;
}
答案 1 :(得分:2)
这是因为value
属性返回String
。您需要将其转换为Number
。
通过使用+
一元运算符,有一条捷径。您也可以将字符串包裹在Number
中,如Number(a) + Number(b)
。
a = +document.getElementById('num1').value;
b = +document.getElementById('num2').value;
答案 2 :(得分:1)
尝试这样做:
document.getElementById('result').innerHTML = parseInt(a) + parseInt(b);
原因是因为你a和b是字符串,你需要先转换成数字。