在这个假设的页面中,我输入了以下内容:
<input type="number" min=1 max=9 required />
<input type="number" min=1 max=9 required />
<input type="number" min=1 max=9 required />
<input type="number" min=1 max=9 required />
字符串
令我困惑的是,我知道如果我将输入放在表单中并提交表单,它们是受限制的。
但如果你去拉小提琴:Fiddle
您可以轻松地键入100或-20或1-9范围之外的任何值。
是否有方法在输入时/不提交时限制输入字段中的值
(side问题:输入字段的最小/最大属性何时生效?是否仅在提交表单时生效?是否可以在不提交表单的情况下验证值?)
5条答案
按热度按时间ymzxtsji1#
当您使用表单上的提交按钮时,Google Chrome似乎会强制执行最小/最大值。
我已经更新了你的示例,有3个提交按钮(相应的标签)...一个将强制验证,其他将显示错误,但无论如何提交。
http://jsfiddle.net/uatxcvzp/12/
在Firefox中,验证会在字段模糊时发生,用红色高亮显示字段边框,并在悬停时显示一个工具提示来解释错误。使用任何一种提交方式都将停止并要求修复错误。
在IE10中,当您尝试提交表单时,只有本机提交按钮会强制验证。
在iOS9.1上的Safari中,无论使用什么提交按钮/代码样式,它看起来都被完全忽略了。
11dmarpk2#
试试这个:
ycggw6v23#
你这是为我工作
ql3eal8s4#
你可以试试下面的代码:
uplii1fm5#
看起来它本身不可能是一个不受控制的组件,它需要成为一个受控制的组件-要么手动编写javascript/jQuery,要么使用一个库。
如果使用React,可以使用类似
react-hook-form
的代码,代码如下所示,具体请参见age
输入。完整文档如下:https://react-hook-form.com/api/useform/register