开发者社区 问答 正文

if,else if,else 把shuifen设置在12-16或22-38之间,但是出现问题啦

slmin=22 slmax=38 glmin=12 glmax=16
JS里:我用if,else if,else 把 shuifen这个变量的值设置在12-16或22-38之间,但是测试的时候,100以上全部也能输入并保存,求大神看看我的代码哪里需要改正。求指导,求改正

if(parseFloat(shuifen)>=parseFloat(slmin)&&parseFloat(shuifen)<=parseFloat(slmax)){
        danjia =slbiaozhunjia- (shuifen-slbiaozhun)*sljiagebodong;
        document.getElementById("ruKu.danJia").value=danjia.toFixed(2);
    }
    else if(parseFloat(shuifen)>=parseFloat(glmin)&&shuifen<=glmax  ){
       danjia =glbiaozhunjia- (shuifen-glbiaozhun)*gljiagebodong;
        document.getElementById("ruKu.danJia").value=danjia.toFixed(2);
    }
    else{alert("水分在"+glmin+"—"+glmax+"或"+slmin+"—"+slmax+"之间")}

展开
收起
小旋风柴进 2016-03-19 10:05:07 1979 分享 版权
1 条回答
写回答
取消 提交回答
  • 测试例子,100以上没问题

     <!doctype html>
    <html>
     <body>
    <script>
    var slmin=22, slmax=38, glmin=12, glmax=16;
    var glbiaozhunjia = 20,glbiaozhun=5,sljiagebodong=1;
    var slbiaozhunjia = 60,slbiaozhun=2,gljiagebodong=1;
    function k(){
    var shuifen = document.getElementById('sf').value;
    if(parseFloat(shuifen)>=parseFloat(slmin)&&parseFloat(shuifen)<=parseFloat(slmax)){
            danjia =slbiaozhunjia- (shuifen-slbiaozhun)*sljiagebodong;
            document.getElementById("ruKu.danJia").value=danjia.toFixed(2);
        }
        else if(parseFloat(shuifen)>=parseFloat(glmin)&&shuifen<=glmax  ){
           danjia =glbiaozhunjia- (shuifen-glbiaozhun)*gljiagebodong;
            document.getElementById("ruKu.danJia").value=danjia.toFixed(2);
        }
        else{alert("水分在"+glmin+"—"+glmax+"或"+slmin+"—"+slmax+"之间")}
    }
    </script>
      <input id="sf" type="text" value="0"/>
      <input id="input1" type="button" value="校验" onclick='k()'/>
      <input id="ruKu.danJia" type="text" value="0"/>
     </body>
    </html>
    2019-07-17 19:07:27
    赞同 展开评论
问答分类:
问答地址: