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

来源:6-11 编程练习

慕神3775235

2015-09-05 16:47

<!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>

写回答 关注

3回答

  • 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>


    慕神3775...

    非常感谢!

    2015-09-05 17:16:32

    共 3 条回复 >

  • 冲动是狗
    2015-09-05 17:04:28

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

    慕神3775...

    不是这个问题,我换了双引号的一样没有用

    2015-09-05 17:07:58

    共 1 条回复 >

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

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

    口袋妖怪 回复慕神3775...

    =。=,看看控制台显示的错误是什么

    2015-09-05 17:00:39

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题