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

帮我看看哪里不对,这里的if要怎么写

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
       
    //获取第一个输入框的值
    var x=parseInt(document.getElementById('txt1').value);
  //获取第二个输入框的值
    var y=parseInt(document.getElementById('txt2').value);
  //获取选择框的值
    var m=document.getElementById('select').value;
  //获取通过下拉框来选择的值来改变加减乘除的运算法则
  if ("+") {
     abc=x+y;
  }
  else if ("-") {
    abc=x-y;
  }
  else if ("*") {
    abc=x*y;
  }
  else{
    abc=x/y;
  }
    //设置结果输入框的值 
    document.getElementById('fruit').value=abc;    
   }
  </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>


提问者:慕粉1946435864 2017-03-30 10:12

个回答

  • 瞬間悸動
    2017-04-01 12:00:42
    已采纳

    //因为你if()括号里“+”“-”“*”“/”没有办法判断真假,所以就不执行if中的语句。你可以这样写

    if(m == "+"){

    }else if(m == "-"){

    }else if(m == "*"){

    }else{

    }

  • 鹰击长空
    2017-03-30 12:20:34

    if...else,我暂时还没有检查出是什么问题导致结果只有加法,咩有其它的,你可以有switch语句试一下:

    switch(m){

            case'+':          //case后面是冒号,切记不能是分号

            abc=x+y;

            break;

            case'-':

            abc=x-y;

            break;

            case'*':

            abc=x*y;

            break;

            case'/':

            abc=x/y;

            break;

           }