function check1()
{
var min = 01;
var max = 1200;
var input = document.getElementById('price');
var is_valid = (min < inputValue || max > inputValue);
}
else {
alert(inputValue + ' is not between ' + MIN + ' and ' + MAX);
return false;
上面的脚本运行良好,但忽略了一些功能
我怎样才能使两者都有效?
答案 0 :(得分:2)
您正在检查它是否小于最大值或大于最小值。假设min&lt;最大然后这将永远是真的。
您需要和检查(对于内部范围)或翻转比较(对于外部范围)。
答案 1 :(得分:1)
is_valid
行应为
var is_valid = (min < inputValue && max > inputValue);
此外,MIN
和MAX
与min
和max
不同。
编辑:您似乎也希望以小数位数显示最小值和最大值。如果你需要两位数字,你可以这样做:
alert(inputValue + ' is not between ' + min.toFixed(2) + ' and ' + max.toFixed(2));
答案 2 :(得分:1)
你的逻辑错误。
如果inputValue大于min或者小于max,则is_valid将为true。由于max大于min,因此两者中的一个总会发生。将您的条件更改为:
var is_valid = min < inputValue && max > inputValue;
答案 3 :(得分:1)
我认为您的is_valid
条件已被撤消
var is_valid = (inputValue >= min && inputValue <= max);
答案 4 :(得分:0)
逻辑上的错误,改变
var is_valid = (min < inputValue || max > inputValue);
作为
var is_valid = (min < inputValue && max > inputValue);