请不要将此标记为重复。与下面的类似,但又不一样。
我看过:
Javascript 连接数字,而不是相加 : 如何将两个字符串像数字一样相加? 并且: innerHTML 返回带有文本的 NaN
这是我的代码:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>My Web Page</title>
<form action="PayslipServlet" method="get">
First Number: <input type="text" name="n1" id="n1"><br/>
Second Number: <input type="text" name="n2" id="n2"><br/>
Sum: <span id="Sum"></span>
<br>
<input type="button" value="Submit" onClick="pr()">
</form>
<script>
function pr() {
var foobar = 100;
<!-- works -->
<!-- document.getElementById("Sum").innerHTML = +document.getElementById('n1').value ; works -->
<!-- works -->
<!-- document.getElementById("Sum").innerHTML = +document.getElementById('n2').value ; works -->
<!-- works -->
<!-- document.getElementById("Sum").innerHTML = +document.getElementById('n1').value +foobar ; -->
<!-- concatenates as strings: why? -->
document.getElementById("Sum").innerHTML = +document.getElementById('n1').value +document.getElementById('n2').value ;
}
</script>
</head>
问题陈述:
当我将 n1 反馈给 sum 时,有效(请参阅注释行) 当我将 n2 反馈给 sum 时,有效 当我将 n1+foobar 反馈给 sum 时,有效
但是,当我将 n1+n2 反馈给 sum 时,我得到一个连接字符串(例如 1+2 变成 12,而不是 3)。
我究竟做错了什么?
HUX布斯
海绵宝宝撒
MMTTMM
相关分类