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

求解哪里有问题

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

      

    var n1= document.getElementById(“txt1”).value;//获取第一个输入框的值

var n2= document.getElementById(“txt2”).value;//获取第二个输入框的值

var s= document.getElementById(“select”).value;//获取选择框的值

var r="";

    switch(select){

        case "+":

        r=parseFloat(n1)+parseFloat(n2);

        break;

        case "-":

        r=parseFloat(n1)-parseFloat(n2);

        break;

        case "*":

        r=parseFloat(n1)*parseFloat(n2);

        break;

        case "/":

        r=parseFloat(n1)/parseFloat(n2);

    }

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

      document.getElementById("fruit").value=r;//设置结果输入框的值 

    

   }

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


提问者:001122 2016-09-05 22:09

个回答

  • 成信eleven
    2016-09-06 17:48:43

    还有一点,你获取的是字符串而不是数字,所以在加法上会当成是字符串之间的加法,如果是15+15结果会是1515而不是30,要用parseInt函数处理字符串返回整数

  • 慕神3347925
    2016-09-05 23:14:40

    有很多处地方你把输入法弄成中文了,还有switch的参数应该是你声明的r

  • sky蘭
    2016-09-05 22:49:50

    大晚上给你调了半天,我不知道是粘贴的问题还是你本身符号打的有问题,很多都是中文符号,基本都在获取值那个部分,再者switch里的变量应该是s,不是select,最后变量r是number型,为什么初始化为字符串