问答详情
源自:6-11 编程练习

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

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


提问者:觉醒的豆腐 2015-07-15 11:59

个回答

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

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

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

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