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

哪里不对?

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
       
    //获取第一个输入框的值
    var a = document.getElementById('text').value;
    //获取第二个输入框的值
    var b = document.getElementById('text2').value;
    //获取选择框的值
    var c = document.getElementById('select').value;
    var result;
    
    //获取通过下拉框来选择的值来改变加减乘除的运算法则
    switch(e){
            case "+":
            result=a+b;
            break;
            case "-":
            result=a-b;
            break;
            case "*":
            result=a*b;
            break;
            case "/":
            result=a/b;
            break;
    }
    //设置结果输入框的值
     document.getElementById("fruit").value=result;
    
   }
  </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>

提问者:2人4人 2015-06-23 17:07

个回答

  • qq_旋转木马_0
    2015-06-23 17:56:30

    1. 获取第一个框跟第二个框的值时,书写错误  两个框的id值分别为:txt1,txt2

    2. switch传进来的参数应该是c,而不是e

    3. 进行加法运算的时候,一定要进行转换, 正确为result=parseInt(a)+parseInt(b);  若不进行转换,js会以为你只想要简单的字符串相加,所以当result=a+b的时候,答案是错误的.