我有以下标记:
<input type="number" max="99" />
在 Google Chrome(以及可能的其他 webkit 浏览器)中,这将限制微调器的向上箭头超过 99,但它不会阻止用户输入高于 99 的数字。即使 onblur,也不会删除/替换无效值或鉴于该值无效,甚至会发出警告。
我是否误解了它应该如何工作,或者这是一个错误?我正在使用最新版本的 Chrome(撰写本文时为 19)。
编辑:
为了澄清,我想知道为什么首先允许输入大于指定最大值的数字。我意识到它在表单提交时提供了一个工具提示,告诉你它是无效的,但微调器不允许你超过最大值似乎是不一致的行为,但你可以随时简单地键入一个高于最大值的数字来规避它。
如果出于某种原因这是期望的行为,那是为什么呢?有没有更好的选择来强制输入范围而不诉诸 JS?