qq_eminemjohn_03355944
2019-02-01 15:38
运行后只有减法和乘法可以运行,加法直接是两个数拼在一起比如2+2.结果成了22,除法显示undefined
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count() {
var a = document.getElementById("txt1").value;
var a1 = parseInt(a, 10);
var b = document.getElementById("txt2").value;
var b1 = parseInt(b, 10);
var c = document.getElementById("select").value;
switch (c) {
case "+":
d = a1 + b1;
break;
case "-":
d = a1 - b1;
break;
case "*":
d = a1 * b1;
break;
case "/":
d = a1 / b1;
break;
}
var d;
document.getElementById("fruit").value = d;
}
//获取第一个输入框的值
//获取第二个输入框的值
//获取选择框的值
//获取通过下拉框来选择的值来改变加减乘除的运算法则
//设置结果输入框的值
</script>
</head>
<body>
<input type='text' id='txt1' />
<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type='text' id='txt2' />
<input type='button' value=' = ' onclick="count()" />
<!--通过 = 按钮来调用创建的函数,得到结果-->
<input type='text' id='fruit' />
</body>
</html>
加法的问题:
你没有取值的整数,所以两个值拼在一起,追加parseInt()函数就可以了。
转换整数如下:
i=parseInt(i);
m=parseInt(m);
问题是value-0;
因为此处i和m获取的值是字符串,此时加号(“+”)相当于连接字符,会显示结果为"im",即为22,此时不是相加是通过加号连接起来的。
根据题目的提示使用:使用parseInt()函数可解析一个字符串,并返回一个整数。
parseInt(i)将i转换为整数即可,m同理。
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题