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

代码检查了几十遍,感觉没有问题啊,但是就是得不到结果

<!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 c= document.getElementById(“select”).value;
    var sum;
    switch(c){
    case "+":sum=a+b;break;
    case "-":sum=a-b;break;
    case "*":sum=a*b;break;
    case "/":sum=a/b;break;
    }
    //获取第一个输入框的值
    //获取第二个输入框的值
    //获取选择框的值
    //获取通过下拉框来选择的值来改变加减乘除的运算法则
    //设置结果输入框的值
    document.getElementById(fruit).value=sum;
   }
 
  </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>

正在回答

4 回答

简单的说不加这个,这个代码的加法会是这样的:1+1=11,2+2=22

在js中“+”是字符串拼接的功能,而js有带有变量自动转换,会把数字自动转换成字符串

他的代码之所以运行不了是没有单引号和双引号是中文的双引号引起的

不加parseFloat();也是可以运行的,就是加法运算答案是错的

1 回复 有任何疑惑可以回复我~
#1

名字real难 提问者

非常感谢!
2016-09-12 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//57d17c34000172d105640456.jpg

1麻烦把中文双引号改成英文的单引号或者英文的双引号

2直接用加号会变成字符串拼接麻烦改成

case "+":sum=parseFloat(a)+parseFloat(b);break;

0 回复 有任何疑惑可以回复我~
#1

名字real难 提问者

感谢大神!!!!
2016-09-12 回复 有任何疑惑可以回复我~
#2

咩咩咩3124927 回复 神思夜语

谢谢了
2016-09-13 回复 有任何疑惑可以回复我~
查看2条回复

火眼金睛啊当真是,但是我加了引号还是不行呢,还有啥别的毛病吗

0 回复 有任何疑惑可以回复我~

document.getElementById(fruit).value=sum;
你这一行的fruit没加引号

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

代码检查了几十遍,感觉没有问题啊,但是就是得不到结果

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信