我尝试使用 Plus算术运算 来计算2个输入文本类型的数字值,但我的结果是值是“在一起”,就像那样:
结果
55
通缉结果
10
代码
<script type="text/javascript">
function cal(){
var plus = document.getElementById('plus').value,
plus1 = document.getElementById('plus1').value;
var x = plus + plus1;
var result = document.getElementById('result');
if(result.value == ""){
result.innerHTML = "?";
}
else{
result.innerHTML = x;
}
}
</script>
<input type="text" id="plus" /> + <input type="text" id="plus1" /> = <span id="result"></span>
我怎样才能得到加号结果而不是几个数字?
答案 0 :(得分:2)
你可以试试这个:
function cal(){
var plus = +document.getElementById('plus').value,
plus1 = +document.getElementById('plus1').value;
var x = plus + plus1;
var result = document.getElementById('result');
if(isNaN(plus) || isNaN(plus1) || result.value == ""){
result.innerHTML = "?";
}
else{
result.innerHTML = x;
}
}
注意将两个字符串值转换为数字的+符号。
答案 1 :(得分:2)
var plus = parseInt(document.getElementById('plus').value, 10),
plus1 = parseInt(document.getElementById('plus1').value, 10);
这将做你想要的。
答案 2 :(得分:1)
从DOM中的输入元素获得的所有值都将成为字符串
Javascript使用+
来连接字符串和添加。
为了清楚地说明你想要添加数字而不是连接字符串,你需要确保你的值是数字:
parseInt(plus, 10) + parseInt(plus1, 10)
是的,这是Javascript中最基本且经常遇到的陷阱之一。
答案 3 :(得分:0)
在parseInt()中包含plus和plus1,以便添加而不是连接。
var plus = parseInt( document.getElementById('plus').value ),
plus1 = parseInt( document.getElementById('plus1').value );
答案 4 :(得分:0)
您需要将它们解析为Integer类型:
var x = parseInt(plus) + parseInt(plus1);
然后你可以使用isNaN()
来判断它是否是一个有效的操作:(注意我正在检查x
的值而不是结果输出的值)
if(isNaN(x)){
result.innerHTML = "?";
}
else{
result.innerHTML = x;
}
答案 5 :(得分:0)
parseInt是您的代码中缺少的...您需要将其解析为只进行连接操作的整数限制,因此您可以执行此操作
var plus = parseInt(document.getElementById('plus').value, 10),
plus1 = parseInt(document.getElementById('plus1' ).value, 10);
或
var x = parseInt(plus , 10) + parseInt(plus1 , 10) ;
答案 6 :(得分:-1)
<script type="text/javascript">
function cal(){
var plus = parseInt(document.getElementById('plus').value),
plus1 = parseInt(document.getElementById('plus1').value);
var x = plus + plus1;
var result = document.getElementById('result');
if(result.value == ""){
result.innerHTML = "?";
}
else{
result.innerHTML = x;
}
}
</script>
<input type="text" id="plus" /> + <input type="text" id="plus1" /> = <span id="result"></span>