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

6-11练习为什么我出不来结果啊

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

为什么出不来结果啊

提问者:神才飞扬 2016-04-13 18:21

个回答

  • No_or_Yes
    2016-04-13 19:20:44
    已采纳

     d=a+b把这里改下 d=parseInt(a)+parseInt(b);你不强制转换的话,机器以为你是'+'连接符。


               var a=document.getElementById("txt1").value;
               //获取第二个输入框的值
               var b=document.getElementById("txt2").value;
               //获取选择框的值
               var sel=document.getElementById("select").value;

    把这里也改下吧。