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

大神帮我看一下,为什么运算读不出来,哪里不对

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title> 
  <script type="text/javascript">
   function count(){
    var a=document.getElementById('text1').value//获取第一个输入框的值
 var b=document.getElementById('text2').value//获取第二个输入框的值
 var c=document.getElementById('select').value//获取选择框的值
   var d
    if(c=='+'){
     d=parseInt(a)+parseInt(b)
    
 }
 else if(c=='-'){
     d=parseInt(a)-parseInt(b)
 }
 else if(c=='*'){
     d=parseInt(a)*parseInt(b)
    
 }
    else{
        d=parseInt(a)/parseInt(b)
    }
   document.getElementById('fruit').value=d
   }
  </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>

提问者:慕运维0036432 2018-07-30 00:57

个回答

  • qq_南墙_9
    2018-08-05 01:20:34

    你获取的ID写错了,人家是txt,你是text

  • MrThinco
    2018-07-30 17:15:02

    <!DOCTYPE html>

    <html>

    <head>

     <title> 事件</title>  

     <script type="text/javascript">

      function count(){

       //获取第一个输入框的值

       var num1 = document.getElementById("txt1").value;

      //获取第二个输入框的值

      var num2 = document.getElementById("txt2").value;

      //获取选择框的值

      var num3 = document.getElementById("select").value;

      //获取通过下拉框来选择的值来改变加减乘除的运算法则

     switch(num3){

       case '+':

         var result = parseInt(num1)+parseInt(num2);

         break;

       case '-':

         var result = num1-num2;

         break;

       case '*':

        var result = num1*num2;

        break;

       case '/':

        var result = num1/num2;

        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
    2018-07-30 16:34:56

    var a=document.getElementById('text1').value//获取第一个输入框的值
    var b=document.getElementById('text2').value//获取第二个输入框的值

    //这两个换成下面这种样子

    var a = parseInt (document.getElementById("txt1").value);     //获取第一个输入框的值

    var b = parseInt (document.getElementById("txt2").value);    //获取第二个输入框的值

    //要用parseInt把字符类型转换下


  • web1184859382
    2018-07-30 13:40:45

    你这个不行啊

  • 愿岁月厚待我至爱之人
    2018-07-30 08:57:58

    因为你输入框输入的值时string类型的,在“+”string中时链接字符串。用typeof()试一下就是什么类型,我记得是。

    类型转换parseInt();把那俩个数字转换一下