以下是我的代码:
if (document.getElementById('actual').value < document.getElementById('min').value
|| document.getElementById('actual').value > document.getElementById('max').value) {
alert("not in range");
}
此警报适用于10到100或更多的数字。
假设min
值为0且max
值为10且actual
为9;然后此警报不起作用,即使实际值在范围内,它也会开始显示“不在范围内”的警报。
JSP文件中有3个可编辑的文本框: min,max和actual 。当用户在文本框中输入值时,我使用上面的代码检查值。
答案 0 :(得分:1)
试试这个:
if(parseInt(document.getElementById('actual').value) < parseInt(document.getElementById('min').value)
|| parseInt(document.getElementById('actual').value) > parseInt(document.getElementById('max').value))
{
alert("not in range");
}
答案 1 :(得分:1)
这类似于Jonny Grisham建议的解决方案;它只是将值移动到更容易阅读的变量中,并且总体上减少了特定行的长度。它还使用parseInt
。
var actual = parseInt(document.getElementById('actual').value);
var min = parseInt(document.getElementById('min').value);
var max = parseInt(document.getElementById('max').value);
if(actual < min || actual > max) {
alert('not in range');
}
请注意,这些ID内部的值实际上是数字。有些条件you will get NaN
(例如,它不是数字),或者您将获得您不期望的结果(例如{{1} }将导致parseInt("12number127")
)。