为什么我的代码加法12+12=1212,其他的都有用,就加法有问题。

来源:6-11 编程练习

沉迷学习不能自拔_

2016-11-02 19:30

为什么我的代码加法12+12=1212,其他的都有用,就 加法 有问题。

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title> 
  <script type="text/javascript">
   function count()
   {
    var a=document.getElementById("txt1").value;
    var b=document.getElementById("txt2").value;
    var c=document.getElementById("select").value;
 
      switch(c){
       case "+":c=a+b;
        break;
       case "-":c=a-b;
        break;
       case "*":c=a*b;
        break;
       case "/":c=a/b;
        break;
       default:"错误";   
   }
   document.write(c);
   }
  </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>

写回答 关注

5回答

  • 万里山丶
    2016-11-02 20:02:54
    已采纳
     function count(){
            //获取第一个输入框的值
          var otxt1= document.getElementById("txt1").value;
          //获取第二个输入框的值
          var otxt2= document.getElementById("txt2").value;
          //获取选择框的值
          var oselect=document.getElementById("select").value;
          //获取通过下拉框来选择的值来改变加减乘除的运算法则
          switch(oselect){
            case "+" :
            otxt3=parseInt(otxt1) + parseInt(otxt2);
            break;
            case "-":
            otxt3=parseInt(otxt1) - parseInt(otxt2);
            break;
            case "*":
            otxt3=parseInt(otxt1) * parseInt(otxt2);
            break;
            case "/":
            otxt3=parseInt(otxt1) / parseInt(otxt2);
            break;    
          }
              //设置结果输入框的值 
          document.getElementById("fruit").value=otxt3;
          }

    可能是你最后面的输入框值写错了,望采纳!

    万里山丶 回复沉迷学习不能...

    返回解析后的数字。

    2016-11-02 20:19:43

    共 2 条回复 >

  • qq_云水边静沐暖阳_04205942
    2016-11-23 11:33:25

    因为默认的是字符串类型,字符串的12+12=1212,要把字符串转换成数字,即给a,b前面加上parseInt,如parseInt(a)+parseInt(b),这样就可以了

  • 人在梦游中
    2016-11-02 21:30:43

    直接获取的是string类型的,可以使用parseInt( str)转换为Int类型,也可以直接加上*1,进行转换。

    以a+b为例:可以写为parseInt(a)+parseInt(b),也可以写成  a*1 + b*1

    以上

  • 寻找光明的黑马
    2016-11-02 21:29:59

    我找到办法了!

        var a=parseInt(document.getElementById('txt1').value)
        var b=parseInt(document.getElementById('txt2').value)

    这样就好了

  • 寻找光明的黑马
    2016-11-02 21:23:22

    我也是这样,就加法有问题,找不到原因

JavaScript进阶篇

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

468062 学习 · 21891 问题

查看课程

相似问题