为了账号安全,请及时绑定邮箱和手机立即绑定

JS问题,求解答

JS问题,求解答

张尔兹海默症 2015-06-15 10:35:22
这是课程里的一道练习题,请问这么写为什么实现不了,若是单独判断就可以弹窗,跟计算写到一起,就不弹窗<!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>
查看完整描述

3 回答

?
cwtxz

TA贡献5条经验 获得超0个赞

将判断语句改成下面这样:

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;

   }

}  


查看完整回答
反对 回复 2015-06-17
  • 张尔兹海默症
    张尔兹海默症
    嗯,谢谢,你的是可以实现的,那你能告诉我为啥我那么写不可以吗? 你的if(num1 && num2){},当num1=0,num2=0的时候为什么会判断通过,进入if内部?(0 && 0)不是假的吗?
?
syl_12

TA贡献1条经验 获得超0个赞

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

查看完整回答
反对 回复 2015-06-15
?
John001

TA贡献7条经验 获得超1个赞

函数 count 写少了一个括号 } 

查看完整回答
反对 回复 2015-06-15
  • 3 回答
  • 0 关注
  • 1544 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信