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

计算器功能不明白为什么实现不了,感觉没什么错,求大神指点

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

上面是我的源代码,想不通,为什么结果运行不出来呢

提问者:qq_梦幻现实_1 2016-08-08 14:01

个回答

  • 加百列
    2016-08-08 15:01:30
    已采纳

    <!DOCTYPE html>
    <html>
    <head>
       <title> 事件</title>
       <script type="text/javascript">
           function count(){

               //获取第一个输入框的值
               var a=parseInt(document.getElementById("txt1").value);
               //获取第二个输入框的值
               var b= parseInt(document.getElementById("txt2").value);
               //获取选择框的值
               var c= document.getElementById("select").value;
               //获取通过下拉框来选择的值来改变加减乘除的运算法则
               var ss;
               switch(c){

                   case '+':
                       ss=a+b;
                       break;
                   case '-':
                       ss=a-b;
                       break;
                   case '*':
                       ss=a*b;
                       break;
                   case '/':
                       ss=a/b;
                       break;
                   default:
                       break;


               }
               //设置结果输入框的值
               document.getElementById("fruit").value = ss;
           }
       </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>

  • 慕移动9181930
    2022-03-27 03:38:26

    有时候我们恰好需要的就只是不被丢失的那一部分:

  • qq时光是记忆de橡皮檫
    2016-08-08 15:28:04

    首先,根据ID获取元素里面要用引号,例如document.getElementById("txt1"),其次,你定义的结果的值不应该放到switch里面,

    var result;

    switch(c){
            
            case '+':
                result=a+b;
                break;
            case '-':
                result=a-b;
                break;
            case '*':
                result=a*b;
                break;
            case '/':
                result=a/b;
                break;
            default:
                break;
            
            
        }

  • 慕粉Coder
    2016-08-08 15:20:57

    通过id名称获取输入框和选择框中值得时候,id名称要用双引号""括起来

  • qq_我没有说谎_0
    2016-08-08 14:44:52

    getElementById("txt1")   ,看到双引号没,tag的id要用引号引起来

  • 褚长阳
    2016-08-08 14:31:42

    getElementById("txt1")   ,看到双引号没,tag的id要用引号引起来