为什么我加法得到的值是字符串和字符串相加?除的时候值是undefined???

来源:6-11 编程练习

觉醒的豆腐

2015-07-15 11:59

 function count(){

     var a = document.getElementById("txt1").value ;

     var b = document.getElementById("txt2").value ;

     var c = document.getElementById("select").value ;

     var d ;

    switch(c){

    case "+" : d=a+b;break;  

    case "-" : d=a-b;break;     

    case "*" : d=a*b;break;    

    default : c=a/b;break;  

    }

    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' />   


写回答 关注

2回答

  • jeffreYang
    2015-07-15 16:19:38
    已采纳

    另外还有一个地方需要修改的是在获取input元素值的时候,要加上parseInt(),不然加法运算结果是字符串

    觉醒的豆腐

    非常感谢!

    2015-07-16 00:44:04

    共 1 条回复 >

  • arlenhui
    2015-07-15 13:46:23

     default : c=a/b;break;     因为你把值给c了,d未赋值,所以是undefined

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468193 学习 · 21891 问题

查看课程

相似问题