这样为什么不行呢 var fruited=parseInt(document.getElementById('fruit').value);

来源:6-11 编程练习

噜啦咧

2016-03-24 15:43

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count()

   {   

    var num1=parseInt(document.getElementById('txt1').value);//获取第一个输入框的值

 var num2=parseInt(document.getElementById('txt2').value);//获取第二个输入框的值 

 var counting=document.getElementById('select').value;//获取选择框的值

 var fruited=parseInt(document.getElementById('fruit').value);

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

    {

      case "+":

        fruited=num1+num2;

      case "-";

        fruited=mum1-num2;

      case "*";

        fruited=mum1*num2;

      case "/";

        fruited=mum1/num2; 

    }

    //设置结果输入框的值 

    

   }

  </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' onfocus="count()" />   

 </body>

</html>


写回答 关注

3回答

  • 蝎子126
    2016-03-24 17:15:08
    已采纳

    问题一

      switch(counting){

          case "+":

            fruited=num1+num2;

          case "-";

            fruited=mum1-num2;

          case "*";

            fruited=mum1*num2;

          case "/";

            fruited=mum1/num2; 

       }

    上面一段代码中你存在3个错误:

       (1)case后面为“”,你后面三个写的都是“”。

       (2)case后面都需要加break;不然代码会按照顺序全部执行一遍。这样switch就没有意义了。

       (3)num1你后面三个都写成了mum1;注意n和m。

    以上三个错误都算是粗心。下次认真点就好了~

    问题二为什么结果框里数字没有变化?

    var fruited=parseInt(document.getElementById('fruit').value);

    你要改变fruit的属性值value,需要获得的是fruit这个对象,然后再对他的value进行附值。大致如下:

    var fruited=document.getElementById('fruit');

    switch(counting){

          case "+":

           fruited.value=num1+num2;

           break;

          .........

       }


    蝎子126 回复噜啦咧

    回复框字数限制,请看下面的评论~

    2016-03-25 09:49:34

    共 2 条回复 >

  • 蝎子126
    2016-03-25 09:41:52

    回复 噜啦咧:

    我们分析一下整个运算过程:

    (1)获取txt1和txt2输入框的值。进行运算。

    (2)给fruit输入框附值。

    看的出来,对txt1和fruit两个输入框的操作是不一样的。一个获取值,一个附值。

    (1)获取值代码 var x=object.value,也就是num1这样。

        var num1=parseInt(document.getElementById('txt1').value);

    (2)附值代码 object.value=y,所以要先获得fruit这个对象,然后再对它的value附值。也就是fruited这样。

         var fruited=document.getElementById('fruit');  fruited.value=result;

       注意:var z=object.value;

                    z=y;

       这样只是z被再次附值,跟object.value并没有关系。这里跟数学里的连等是不一样的。所以object.value ≠y;

     这样说清楚吗???


    噜啦咧

    非常清楚,太感谢了

    2016-10-17 23:29:29

    共 1 条回复 >

  • 雨落凡尘丶
    2016-03-25 09:41:45

    object.value:获取对象的值

    你现在的步骤:

    1、需要先获取到对象,var fruited = document.getElementById('fruit');

    2、计算完以后再对对象的value属性进行赋值。fruited .value = XX;

    document.getElementById('fruit').value:只是获取到对象的值,空的话获取到的是undefind。

    或者你可以再最后面写:

    document.getElementById('fruit').value = XX;

    其他错误楼上已指正!

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题