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

为什么只有加法是错误的

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
       
    //获取第一个输入框的值
    var num1=document.getElementById("txt1").value;
 
    //获取第二个输入框的值
    var num2=document.getElementById("txt2").value;
 
    //获取选择框的值
    var str=document.getElementById("select").value;
    //获取通过下拉框来选择的值来改变加减乘除的运算法则
    var res;
    switch(str)
    {
       
        case '-':res=num1-num2;
        
        break;
        case '*':res=num1*num2;
        break;
        case '+':res=num1+num2;
        
        break;
        default:res=num1/num2;
    }
    
    //设置结果输入框的值
   document.getElementById("fruit").value=res;
   }
  </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>

提问者:蜡笔小新威 2015-03-16 17:32

个回答

  • lymo
    2015-03-16 18:25:15
    已采纳

    因为num1、num2获取的是string类型的,+的话是两个字符组合在一起而已

    case '+':res=parseInt(num1)+parseInt(num2);

    转成int以后就可以加了。