javascript - 加法运算问题?

标签 javascript

嗨,我正在尝试在 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/

相关文章:

javascript - 在 Node 服务器中部署 ext js 应用程序时出现错误

javascript - 必须刷新页面才能从 api 获取数据

javascript - 模糊滤镜在 Firefox 浏览器中不起作用

javascript - 从 JavaScript 触发的 Bootstrap 下拉菜单切换不会始终保持打开状态

javascript - 使较高的 z-index 元素禁用较低元素的 onclick

javascript - 设置 Highcharts y 轴标签格式

javascript - AWS 将 Lambda 函数与 SNS 链接起来

javascript - jQuery 选择多个相同的属性值

javascript - 将 JavaScript 代码迁移到带有 String.prototype 扩展的 node.js 模块

javascript - 使用 Jquery Ajax 调用 Asp.net Web 方法