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

求大神帮忙看一下,为什么这样写没有效果

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

    

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

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

//获取选择框的值

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

    //设置结果输入框的值 

      var txt1=parseFloat(document.getElementById("txt1").value);

      var txt2=parseFloat(document.getElementById("txt2").value);

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

      var result;

      var fruit=document.getElementById("fruit").value;//为什么这里这样写后,下面的fruit=result不会来了

      

      switch(Select){

        case "+":

            result=txt1+txt2;

            break;

        case "-":

            result=txt1-txt2;

            break;

        case "*":

            result=txt1*txt2;

            break;

        case "/":

            result=txt1/txt2;

            break;

        default:

      }

      fruit=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>


提问者:慕粉小白007 2017-01-09 09:00

个回答

  • dollzcx
    2017-01-09 13:51:31
    已采纳

    第17行: var fruit=document.getElementById("fruit").value; 改成  var fruit=document.getElementById("fruit")

    第35行: fruit=result;  改成   fruit.value=result;  

    就好了,好像是不能直接var一个变量,并且赋值给这个变量一个对象的属性,.我猜你之前的写法应该直接把value的数值赋给了fruit,而不是把value属性赋给fruit, 导致后面的错误.     

    也可以不定义fruit,直接写成  document.getElementById('fruit').value=result;

  • Z涛
    2017-01-09 11:01:40

     fruit=result,这样写result=fruit