猿问

JS问题,求解答


这是课程里的一道练习题,请问这么写为什么实现不了,若是单独判断就可以弹窗,跟计算写到一起,就不弹窗

<!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 rule = document.getElementById("select").value;

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

    if(num1 != null && num2 != null){

        switch(rule){

            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;

    }else if(num1==""){

       alert("请输入正确的数字!");

       document.getElementById("txt1").focus();

       return false;

    }else if(num2==null){

       alert("请输入正确的数字!");

       document.getElementById("txt2").focus();

       return false;

   }

}  

</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>


张尔兹海默症
浏览 1545回答 3
3回答

cwtxz

将判断语句改成下面这样:if(num1 && num2){        switch(rule){            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;    }else if(!num1){       alert("请输入正确的数字!");       document.getElementById("txt1").focus();       return false;    }else if(!num2){       alert("请输入正确的数字!");       document.getElementById("txt2").focus();       return false;   }}  

syl_12

num1 在不输入任何值的情况下为“”,始终走了第一个if判断里面,可以debugger调试看下就知道了

John001

函数 count 写少了一个括号 } 
随时随地看视频慕课网APP
我要回答