嗨,我正在尝试在 JavaScript 中进行两个数字的简单相加。当我尝试获取两个输入元素值时,结果是两个数字的串联
这是代码:
<html>
<title>
</title>
<head>
<script type="text/javascript">
function loggedUser() {
//Get GUID of logged user
//alert('success');
var x, y , result;
x = document.getElementById('value1').value;
y = document.getElementById('value2').value;
result=x+y;
alert(result);
document.getElementById('res').value = result;
}
</script>
</head>
<body>
<input type="text" id="value1"><br>
<input type="text" id="value2"><br>
<input type="text" id="res">
<input type="submit" value ="submit" onclick=loggedUser();>
</body>
</html>
最佳答案
“+”运算符已重载。如果任何参数是字符串,则它们都将转换为字符串并连接。如果参数是数字,则进行加法。表单控件值始终是字符串。
首先使用以下方法之一将参数转换为数字:
x = Number(document.getElementById('value1').value);
或
x = parseInt(document.getElementById('value1').value, 10);
或
x = parsefloat(document.getElementById('value1').value);
或
x = +document.getElementById('value1').value;
或
x = document.getElementById('value1').value * 1;
等等...
哦,你也可以只在必要时转换它:
result = Number(x) + Number(y);
等等
关于javascript - 加法运算问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6839616/