为了账号安全,请及时绑定邮箱和手机立即绑定

大神,“+”“-”“*”都算不了?只能算最后一步,这是怎么回事?

大神,“+”“-”“*”都算不了?只能算最后一步,这是怎么回事?

紫拉 2016-07-25 21:09:02
<!DOCTYPE html><html><head>  <title></title>  <script type="text/javascript">function count(){  var a=document.getElementById('txt1').value;  var b=document.getElementById('txt2').value;  var elect=document.getElementById('select').value;  var result='';  switch("elect"){    case '+':    result = a + b;    break;    case '-':    result=a - b;    break;    case '*':    result=a * b;    break;   default:    result=a / b;  }  document.getElementById("fruit").value=result;  }  </script><input type="text " id="txt1"/><select id='select'><option value="+">+</option><option value="-">-</option><option value="*">*</option><option value="/">/</option><input type="text" id="txt2"/><input type="button" value=" = " onclick="count()"/ ><input type="text" id="fruit"/></select></head><body></body></html>
查看完整描述

2 回答

已采纳
?
刚毅87

TA贡献345条经验 获得超309个赞

你总共有三处错误.

  1. var a=document.getElementById('txt1').value;此处 a 获取值为字符串,不能直接进行运算,应该数值化

  2. switch("elect") 此处 elect 是变量,不应该加引号,加引号就变为字符串了;

  3. case '/': 少了这个判断

具体代码如下:

<!DOCTYPE html>
<html>

	<head>
		<title></title>
		<script type="text/javascript">
			function count() {
				var a = parseInt(document.getElementById('txt1').value);
				var b = parseInt(document.getElementById('txt2').value);
				var elect = document.getElementById('select').value;
				var result ;
				switch(elect) {
					case '+':
						result = a + b;
						break;
					case '-':
						result = a - b;
						break;
					case '*':
						result = a * b;
						break;
					case '/':
						result = a / b;
					default:
						result = a / b;
				}
				document.getElementById("fruit").value = result;
			}
		</script>
		<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" />
	</head>

	<body>

	</body>

</html>

望采纳!

查看完整回答
1 反对 回复 2016-07-25
  • 何月
    何月
    没有少/的判断,判断了3个,剩下的那个自然就是/了。
  • 紫拉
    紫拉
    非常感谢,终于可以实现了!
?
ahao430

TA贡献35条经验 获得超41个赞

首先,

  switch("elect"){

这里括号里是变量,不要加引号。前面都不匹配,就执行default了,所以一直是除法。

其次,

result = a + b;

这里是字符串,加号进行的是拼接,应该用parseInt,Number,+之类的将a,b转成数值。

查看完整回答
2 反对 回复 2016-07-25
  • 2 回答
  • 0 关注
  • 1295 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信