我有一个奇怪的行为:
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()
}
Run Code Online (Sandbox Code Playgroud)
}
<input type="number" id="max" min="0"/>
<input type="number" id="min" min="0" onblur="Compare('min', 'max')">
Run Code Online (Sandbox Code Playgroud)
所以:
如果
max = 1000000000000000
min = 10
Run Code Online (Sandbox Code Playgroud)
没关系,但如果我改变了
min = 11
Run Code Online (Sandbox Code Playgroud)
然后
alert("la prix MINIMAL est SUPÉRIEUR au prix MAXIMAL!")
Run Code Online (Sandbox Code Playgroud)
被解雇了!
就像浏览器认为的那样min > max!
输入值是字符串.以下是JavaScript比较11和100字符串的方式:
11更高100.尝试转换为数字:
var min = parseInt(document.getElementById(x).value,10);
var max = parseInt(document.getElementById(y).value,10);
Run Code Online (Sandbox Code Playgroud)