关于获取value值进行加法运算出错的问题

    在学习的时候做一个简单的计算器,-、*、/都运算正确,但是在+上出了错,3+4=34...没办法只好发了问题,有好心人瞬间帮我解惑,感谢~

那是什么原因呢?我先附上错误的代码:

 1 <!DOCTYPE html>
 2 <html>
 3  <head>
 4   <title> 事件</title>  
 5   <script type="text/javascript">
 6    function count(){   
 7     //获取第一个输入框的值
 8     var num1=document.getElementById("txt1").value;
 9     //获取第二个输入框的值
10     var num2=document.getElementById("txt2").value;
11     //获取选择框的值
12     var a=document.getElementById("select").value; 
13     //获取通过下拉框来选择的值来改变加减乘除的运算法则
14     var num3;
15     switch(a){
16         case "+":
17             num3=num1+num2;
18             break;
19         case "-":
20             num3=num1-num2;
21             break;
22         case "*":
23             num3=num1*num2;
24             break;
25         case "/":
26             num3=num1/num2;
27             break;
28     }
29     //设置结果输入框的值 
30     document.getElementById("fruit").value=num3;
31    }
32   </script> 
33  </head> 
34  <body>
35    <input type='text' id='txt1' /><br/><br/>   
36    <select id='select'>
37         <option value='+'>+</option>
38         <option value="-">-</option>
39         <option value="*">*</option>
40         <option value="/">/</option>
41    </select><br/> <br/> 
42    <input type='text' id='txt2' /><br/><br/>  
43    <input type='button' value=' = ' onclick="count()"/><br/><br/> 
44            <!--通过 = 按钮来调用创建的函数,得到结果--> 
45    <input type='text' id='fruit' />   
46  </body>
47 </html>

    问题就出在获取输入框的值。原来获取value值进行加法运算的时候会默认字符串相连,所以会出现3+4=34这种情况。

    解决办法就是:用parseInt()解析字符串返回一个整数。如下:

1 var num1=parseInt(document.getElementById("txt1").value);
2 var num2=parseInt(document.getElementById("txt2").value);

    问题解决!

posted @ 2016-06-02 14:46  嘣嚓嚓jiji~  阅读(440)  评论(0编辑  收藏  举报