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

求解哪里有问题

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


正在回答

3 回答

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

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

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

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

慕神3347925

是s。。打错
2016-09-05 回复 有任何疑惑可以回复我~

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

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

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

进入课程

求解哪里有问题

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