各位帮忙看看,实在不知哪里出问题了?

来源:6-11 编程练习

Mltwind

2015-11-22 10:28

<!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 c=document.getElementById("select").value;//获取选择框的值

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

    switch (c)//设置结果输入框的值 

    case "+":

        result=parseFloat(a)+parseFloat(b);

        break;

    case "-":

        result=parseFloat(a)-parseFloat(b);

        break;

    case "*":

        result=parseFloat(a)*parseFloat(b);

        break;

    case "/":

        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=' = ' /> <!--通过 = 按钮来调用创建的函数,得到结果--> 

   <input type='text' id='fruit' />   

 </body>

</html>

帮我看看哪里出了问题,谢谢!

witch (c)//设置结果输入框的值 

    case "+":

        result=parseFloat(a)+parseFloat(b);

        break;

    case "-":

        result=parseFloat(a)-parseFloat(b);

        break;

    case "*":

        result=parseFloat(a)*parseFloat(b);

        break;

    case "/":

        result=parseFloat(a)/parseFloat(b);

    }

    document.getElementById("fruit").value=result; 

这段一定得“result=”吗?可不可以直接“d=”?一定要加“parseFloat”吗?可不可以直接“a+b”?

写回答 关注

1回答

  • 李晓健
    2015-11-22 11:16:01
    已采纳
    <!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 c = document.getElementById("select").value;//获取选择框的值
                var d = "";//获取通过下拉框来选择的值来改变加减乘除的运算法则
                switch (c) {//设置结果输入框的值
                    case "+":
                            //加法这里不用parseFloat会有问题,因为字符串也有连加,不加的话他会给你当字符串处理
                            //这里本来就是应该用d的  你用result是不规范的写法
                        d = parseFloat(a) + parseFloat(b);
                        break;
                    case "-":
    
                        d = parseFloat(a) - parseFloat(b);
                        break;
                    case "*":
                        d = a * b;
                        break;
                    case "/":
                        d = parseFloat(a) / parseFloat(b);
                }//你这行少了
    
                //上面用d 这里最后也一事实上要用d
                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>


    Mltwin...

    恩恩,谢谢指教,讲得很清楚!!

    2015-11-23 10:29:28

    共 1 条回复 >

JavaScript进阶篇

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

468789 学习 · 22582 问题

查看课程

相似问题