为了账号安全,请及时绑定邮箱和手机立即绑定

找不出来哪里错了

<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 '+':
               d = a + b ;
            break;
            case '-':
                d = a - b;
            break;
            case '*':
                d = a * b;
            break;
            case '/':
                d = a / b;
            break;
        }
   var e = document.getElementById('fruit').value;
   e = 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' />

我找不出来哪里错了   各位大神帮我看看哪里错了

正在回答

5 回答

跟着我的思路来哦。。你首先搞清楚document.getElementById('fruit').value是取输入框的值对吧。。目前没得到结果的时候输入框的值是空的。。而且这个输入框是需要把结果赋值到里面。。变量赋值就是从左到右,d是什么东西? d不就是结果值嘛。。 代码解析出来不就是把算出来的结果值赋进输入框嘛...  照你的写法把输入框赋进这个值。。难道不报错? 是吧。。  要一层层理解。。慢慢来

0 回复 有任何疑惑可以回复我~
#1

qq_Timebegin_0 提问者

赋值不是从右到左吗 a=1 不是把1赋给a吗 有点懵
2018-06-15 回复 有任何疑惑可以回复我~
#2

慕沐8531599 回复 qq_Timebegin_0 提问者

嗯,你能理解赋值就好。。你只要记住是把值赋给输入框。。别把输入框赋给值。。我告诉你的也是一个解代码的思路。。
2018-06-15 回复 有任何疑惑可以回复我~
#3

qq_Timebegin_0 提问者 回复 慕沐8531599

我写的 e = d 是把 值d 赋给 输入框e 吧.....
2018-06-15 回复 有任何疑惑可以回复我~
#4

慕沐8531599 回复 qq_Timebegin_0 提问者

你这样会把变量覆盖的。。你不信测试一下var a=1 a=2;你打印出来看看
2018-06-15 回复 有任何疑惑可以回复我~
#5

qq_Timebegin_0 提问者 回复 慕沐8531599

奥我懂了~ 谢谢你啦
2018-06-15 回复 有任何疑惑可以回复我~
#6

慕沐8531599 回复 qq_Timebegin_0 提问者

懂了采纳一下我的答案呀。。
2018-06-15 回复 有任何疑惑可以回复我~
查看3条回复

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

       

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

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

//获取选择框的值

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

    //设置结果输入框的值 

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

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

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

    

    switch(opr)

    {

        case "+":

            document.getElementById("fruit").value = n1 + n2;

            break;

        case "-":

            document.getElementById("fruit").value = n1 - n2;

            break;

        case "*":

            document.getElementById("fruit").value = n1 * n2;

            break;    

        case "/":

            document.getElementById("fruit").value = n1 / n2;

            break;            

    }


   }

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


0 回复 有任何疑惑可以回复我~

你这个还是有问题  首先 加号 除了加法还有字符串连接功能 

所以 加法会出现 1 + 1 等于 12 情况 

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    <title>事件</title>
    <meta name="keywords" content="关键词列表" />
    <meta name="description" content="网页描述" />
    <link rel="stylesheet" type="text/css" href="" />
 <!--<script type="text/javascript" src="JS文件路径"></script>-->
 <script type="text/javascript">
 function count(){

            //获取第一个输入框的值
            //获取第二个输入框的值
            //获取选择框的值
            //获取通过下拉框来选择的值来改变加减乘除的运算法则
            //设置结果输入框的值
 var a = Number(document.getElementById("txt1").value); //转换成数字类型

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

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

 var d = '';

 switch(c)
            {
                case "+":
                d = a + b;
 break;

 case "-":
                d= a - b;
 break;

 case "*":
                d = a * b;
 break;

 case "/":
                d = a / b;
 break;
 }
            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>


0 回复 有任何疑惑可以回复我~
#1

qq_Timebegin_0 提问者

昂这个找出错误的时候改掉了 还是谢谢您~
2018-06-15 回复 有任何疑惑可以回复我~

我的意思是你的e一开始赋值的是输入框,后面你又把e赋值给了d..此时你的e就不是输入框了。。而是d。。懂了吗。。大兄弟。。

0 回复 有任何疑惑可以回复我~

https://img1.sycdn.imooc.com//5b222e940001928b03580064.jpg

为什么我把21行换成了图片上的就可以运行了

这两者有什么区别吗

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

找不出来哪里错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信