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

为什么加法计算还是有问题?还是字符

<!DOCTYPE html>

<html>

 <head>

  <meta charset="UTF-8">

  <title> 事件</title>  

  <script type="text/javascript">

   function count()

   {

    var a,b,c,d;

    //获取第一个输入框的值

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

//获取第二个输入框的值

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

//获取选择框的值

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

//获取通过下拉框来选择的值来改变加减乘除的运算法则

    

    switch (c)

    {case +:d=parseInt(a)+parseInt(b);

     break;

     case -:d=a-b;

     break;

     case *:d=a*b;

     break;

     case /:d=a/b;

    }

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

 </body>

</html>


提问者:慕粉18221508921 2016-09-24 23:10

个回答

  • 拾荒的小孩儿
    2016-09-25 01:30:13
    已采纳

    给 switch里面的+-*/加上引号

  • QuincyHan
    2016-09-26 12:15:54

    c=document.getElementById("select").value 获取的值是字符串

    字符串需要在单引号或者双引号中

    switch中的每一个case在使用字符串的时候都要用引号标上

    也就是说case后面的"+" "-" "*" "/"都需要加上引号