【问题标题】:Javascript check within acceptable rangeJavascript 检查在可接受的范围内
【发布时间】:2017-09-21 02:09:36
【问题描述】:

我有一个范围上限和一个范围下限,我需要能够显示输入数字是否在可接受范围内,或者高于或低于可接受范围。

目前,我的 javascript 代码如下所示,但我不断收到消息说这是一个无效条目。

它需要能够处理小数位,因为高低是基于用户偏好的。

    var highRange = 17.80;
    var lowRange = 6.90;
    var valueToCheck = (rText.value);

    function checkRange() {
        var msg = 'Invalid entry';
        if ((valueToCheck > 0.00) && (valueToCheck <= lowRange)) { msg = 'LOW'; }
        if ((valueToCheck > lowRange) && (valueToCheck <= highRange)) { msg = 'NORMAL'; }
        if ((valueToCheck > highRange)) { msg = 'HIGH'; }
        rangeValue = msg;
    }

我只是不明白为什么它不起作用,哈哈。

任何帮助将不胜感激:-)

【问题讨论】:

  • 你试过 parseFloat on valueToCheck 吗?确定 valueToCheck 不是负数?
  • 这是一个神奇的功能吗?只是在开玩笑。它在哪里被调用?
  • 在你的 var valueToCheck 上使用 parseFloat()

标签: javascript numbers range decimal


【解决方案1】:

试试这个。

    var highRange = 17.80;
    var lowRange = 6.90;
   

    function checkRange() {
       var valueToCheck = document.getElementById('rText').value;
        var msg = 'Invalid entry';
        if ((valueToCheck > 0.00) && (valueToCheck <= lowRange)) { msg = 'LOW'; }
        if ((valueToCheck > lowRange) && (valueToCheck <= highRange)) { msg = 'NORMAL'; }
        if ((valueToCheck > highRange)) { msg = 'HIGH'; }
        document.getElementById('rangeValue').innerHTML = msg;
    }
<input type="text" id="rText" >
<input type="button" value="Validate" onclick="checkRange()">
<p id="rangeValue"></p>
问题是您将valueToCheck 放在函数之外。因此,当页面加载时,它已经获得了输入的空值。

valueToCheck 必须在函数内部才能获得输入的变化。

【讨论】:

  • @rafon peenoise Gaming ka?
  • 就是这样!谢谢你指出。在过去的 20 分钟里,我一直在看它,试图弄清楚我到底做错了什么。干杯:-)
  • @cloudseeker 很高兴我能提供帮助。
  • @ShadowFiend baket?
  • @ShadowFiend gg
【解决方案2】:

使用 parseFloat 将字符串转换为浮点数。
var valueToCheck = parseFloat(rText.value);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多