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

我用的是if else语句,为什么不能显示结果啊,哪里出错了,跪求各位大神帮帮忙!!!

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

提问者:慕粉3445928 2016-07-27 17:16

个回答

  • 无知的狗3576298
    2016-07-28 23:59:21

    function count(){

        //获取第一个输入框的值
            var fir = document.getElementById("txt1").value;   
        //获取第二个输入框的值
            var sec = document.getElementById("txt2").value;   
        //获取选择框的值
            var oselect = document.getElementById("select").value;
        //获取通过下拉框来选择的值来改变加减乘除的运算法则
            var num ;
            function count(x,y){
                if(oselect=="+"){
                    num =(x-0) + (y-0);
                }
                else if(oselect=="-"){
                    num = (x-0)-(y-0);
                }
                else if(oselect=="*"){
                    num = (x-0)*(y-0);
                }
                else if(oselect=="/"){
                    num = (x-0)/(y-0);
                }
            }
            count(fir,sec);
        //设置结果输入框的值
            document.getElementById("fruit").value=num;
       }



    //我用if写的  你看看

  • 锐大大
    2016-07-27 18:11:08

    <!DOCTYPE html>

    <html>

     <head>

      <title> 事件</title>  

      <script type="text/javascript">

       function count(){

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

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

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

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

        //获取选择框的值

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

        //var num=document.getElmentById("fruit").value;

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

        if(c=="+"){

            document.getElementById("fruit").value=a+b;

        }

        else if(c=="-"){

            document.getElementById("fruit").value=a-b;

        }

        else if(c=="*"){

            document.getElementById("fruit").value=a*b;

        }

        else if(c=="/"){

            document.getElementById("fruit").value=a/b;

        }

        //设置结果输入框的值 

        

       }

       

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



    首先你的getElementById拼错,其次你没有对获取的数字加上parseInt()

  • 水里有条鱼
    2016-07-27 18:03:21

    楼上说的有道理,但是如果这样的话一开始的声明就没必要了直接var num;就行了,还有要改的是

    var b=document.getElmentById("txt2").value;  //以下三个getElementById 都少了1个e
        var c=document.getElmentById("select").value;
        var num=document.getElmentById("fruit").value;

    还有  var a=document.getElementById("txt1").value;  //得来的值是字符型要转换为整型

    另外如果想用直接改结果框的内容的话可以这样:

        var num=document.getElementById("fruit");

           a = parseInt(a);  //字符转整型

           b = parseInt(b);

        if(c=="+"){

            num.value = a+b;

        }

        else if(c=="-"){

            num.value=a-b;

        }

        else if(c=="*"){

            num.value=a*b;

        }

        else if(c=="/"){

            num.value=a/b;

        }


  • qq_花落我家_03119077
    2016-07-27 17:57:17

    而且你需要将字符串转化为数字才行的

  • qq_花落我家_03119077
    2016-07-27 17:54:43

    同学,document.write(num);这段代码不是设置结果框中的值,而是在屏幕上打印num的值。这样才对document.getElementById("fruit").value=num

  • 我想我应该去读书
    2016-07-27 17:51:44

     i have no way