JavaScript 输入值问题
JavaScript input value issue
以下内容无法按预期工作:
function sum(x,y){
return x + y;
}
document.getElementById('submit').onclick = function(e)
{
//do someting
e.stopPropagation();
var value1 = document.getElementById('v1').value,
value2 = document.getElementById('v2').value;
var newSum = sum(value1, value2);
console.log(newSum);
}
拾取的值有问题。它应该返回总和,而不是"1+2=12"
更改
return x + y;
自
return parseInt(x) + parseInt(y);
在添加它们之前,您必须先将值转换为数字。如果数字是浮点数,则可以使用 parseFloat
而不是 parseInt
。
编辑 正如 RGraham 在评论中建议的那样,最好明确传递基数(检查parseInt
的文档)。因此,代码变为
return parseInt(x, 10) + parseInt(y, 10);
为了更准确:
function sum(x,y){
return parseFloat(x) + parseFloat(y);
}
你需要将你的值解析为一个int,因为所有值在javascript中都作为字符串传递。
value1 = parseInt(document.getElementById('v1').value, 10);
value2 = parseInt(document.getElementById('v2').value, 10);
使用
parseInt
语法
var num = parseInt(string, radix);
参数
字符串 要分析的值。如果字符串不是字符串,则将其转换为字符串。字符串中的前导空格将被忽略。
基数 一个整数,表示上述字符串的基数。始终指定此参数以消除读取器混淆并保证可预测的行为。未指定基数时,不同的实现会产生不同的结果。
function sum(x,y){
return parseInt(x,10) + parseInt(y,10);
}
相关文章:
- Javascript,文件输入和FormData问题
- 将输入值设置为ng模型属性[Angular]时出现问题
- ReactJS中动态生成的输入文本字段值设置问题
- 选中复选框的Jquery/Javascript问题使用输入框操作将行从一个表添加到另一个表
- 将“提示”对话框中的输入替换为星号时出现问题
- 扫描仪设备或手动输入的识别输入问题
- Safari手机文本输入问题
- 有关 Javascript IndexedDB 输入信息的问题
- 我在添加更多输入字段时遇到问题,文本字段中的值不会保留
- Magento自定义选项-清除输入字段问题
- mongodb用户配置文件添加输入时出现问题
- Safari存在文本输入问题,用户输入时会选择文本,导致文本丢失
- 单击输入区域时出现问题
- 文本框聚焦事件并在IE9中输入问题
- 使用最接近查找文本输入的JQuery问题
- 鼠标输入事件上的jQuery延迟出现问题
- 如何解决区分大小写搜索的搜索输入问题
- 搜索输入问题显示滚动
- 在动态更改的文本区域中输入文本时出现问题
- 与“选择”有关的问题输入字段