我有一个奇怪的行为:
JavaScript:
function Compare(x, y) {
var min = document.getElementById(x).value
var max = document.getElementById(y).value
if (min > max) {
alert("la prix MINIMAL est SUPÉRIEUR au prix MAXIMAL!")
document.formacha.min.focus()
}
}
<input type="number" id="max" min="0"/>
<input type="number" id="min" min="0" onblur="Compare('min', 'max')">
所以:
如果
max = 1000000000000000
min = 10
没关系,但如果我改变
min = 11
然后
alert("la prix MINIMAL est SUPÉRIEUR au prix MAXIMAL!")
被解雇了!
就像浏览器认为min > max
!
最佳答案
输入的值是字符串。以下是 JavaScript 如何将 11
和 100
作为字符串进行比较:
- 1 与 1 比较:相等,继续下一个字符
- 1 与 0 相比:1 更高,因此
11
高于100
。
尝试转换为数字:
var min = parseInt(document.getElementById(x).value,10);
var max = parseInt(document.getElementById(y).value,10);
关于javascript - <输入类型 = 数字> 中的上级和下级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16253113/