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

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

为什么我的代码加法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 回答

 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;
      }

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

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

沉迷学习不能自拔_ 提问者

如果是输出框错了,为什么其他3个运算符有用,而且我调试他没有显示错误。 parseInt有什么作用啊。
2016-11-02 回复 有任何疑惑可以回复我~
#2

万里山丶 回复 沉迷学习不能自拔_ 提问者

返回解析后的数字。
2016-11-02 回复 有任何疑惑可以回复我~

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

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

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

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

以上

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

我找到办法了!

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

这样就好了

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

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

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

举报

0/150
提交
取消

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

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