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

编程练习的计算器代码,请大家帮我看看我到底错哪了?

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
    var a=document.getElementById('txt1').value;
    var b=document.getElementById('txt2').value;
   var  symbol=document.getElementById('select').value;
   var result='';
   switch(symbol)
   {
       case'+':
       result=parseFloat(a)+parseFloat(b);
       break;
       case'-':
       result=parseFloat(a)-parseFloat(b);
       break;
       case'*':
           result=parseFloat(a)*parseFloat(b);
           break;
        default:
        result=parseFloat(a)/parseFloat(b);
   }
   document.getElementById('select').value=result;
   }
  </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>

提问者:慕神3775235 2015-09-05 16:47

个回答

  • Perona
    2015-09-05 17:12:52
    已采纳

     case'-':

    这里冒号错了,改成英文冒号。

    document.getElementById('select').value=result;

    这里获取的id名写错了,也就是说你把值赋给了运算符号的那个节点。改成fruit。

    修改后的完整代码

    <!DOCTYPE html>
    <html>
    <head>
        <title> 事件</title>
        <script type="text/javascript">
            function count(){
                var a=document.getElementById('txt1').value;
                var b=document.getElementById('txt2').value;
                var  symbol=document.getElementById('select').value;
                var result='';
                switch(symbol)
                {
                    case'+':
                        result=parseFloat(a)+parseFloat(b);
                        break;
                    case'-':
                        result=parseFloat(a)-parseFloat(b);
                        break;
                    case'*':
                        result=parseFloat(a)*parseFloat(b);
                        break;
                    default:
                        result=parseFloat(a)/parseFloat(b);
                }
                document.getElementById('fruit').value=result;
            }
        </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-09-05 17:04:28

       case'-':这个冒号出错了,仔细检查检查啊!==~

  • 口袋妖怪
    2015-09-05 16:54:09

    把script代码块放到</body>上试试