FtD*_*Xw6 24 html forms html5 google-chrome
我有以下标记:
<input type="number" max="99" />
Run Code Online (Sandbox Code Playgroud)
在谷歌浏览器(以及可能的其他webkit浏览器)中,这将限制微调器的向上箭头超过99,但它不会阻止用户键入高于99的数字.即使是onblur,也不会删除/替换无效值或即使是警告,因为该值无效.
我是否误解了它应该如何工作,或者这是一个错误?我使用的是最新版本的Chrome(撰写本文时为19).
编辑:
为了澄清,我想知道为什么首先允许输入大于指定最大值的数字.我意识到它提供了表单提交的工具提示,告诉你它是无效的,但似乎不一致的行为,微调器不允许你超过最大值,但你可以随时键入一个高于最大值的数字来规避它.
如果由于某种原因这是期望的行为,那为什么呢?是否有更好的选择来强制输入范围而不诉诸JS?
它确实有效,但如果您在代码中放入提交按钮和表单,则只会看到错误消息(工具提示):
<form action="#" method="get">
<input type="number" max="99" />
<input type="submit" value="Submit!" />
</form>
Run Code Online (Sandbox Code Playgroud)