maxlength属性不适用于<input type="number">.这只发生在Chrome中.

<input type="number" class="test_css"  maxlength="4"  id="flight_number" name="number"/>

推荐答案

MDN's documentation for <input>

如果type属性的值是textemailsearchpasswordtelurl,则此属性指定用户可以输入的最大字符数(以Unicode代码点为单位);对于其他控件类型,它将被忽略.

因此,<input type="number">的设计忽略了maxlength.

根据您的需要,您可以使用他/她的答案中建议的minmax属性(注意:这将只定义一个受约束的范围,而不是值的实际字符长度,尽管-9999到9999将覆盖所有0-4位数字),或者您可以使用常规文本输入,并使用新的pattern属性对字段进行验证:

<input type="text" pattern="\d*" maxlength="4">

Html相关问答推荐

如何防止下拉菜单内的Bootstrap列表行包装?

如何增加行背景的宽度而不影响上面的内容?""' HTML CSS

应用于文本而不是弹性容器的Flexbox属性

邮箱追踪器-有效,但在Gmail客户端中是否可以显示问号图标以外的其他内容?

Firefox和Chrome在文字装饰和文字阴影方面的不同优先顺序

如何影响flex项目中的flex-gap收缩顺序和文本换行顺序?

如何创建剪切到路径的循环文本字幕?

Angular -表和源映射中未显示的数据错误

IFRAME中的Chrome图像未调整大小

如何在ASP.NET Core中添加换行符

如何修剪 flex: 1 内的垂直文本?

如何使文本区域自动扩展到最大高度?

调整屏幕大小时标题在图像下方重叠 - HTML

透明渐变凹矩形

如何并排放置
的定义列表,但如果
变长,
会向下移动?

暗模式转换器

打开 Bootstrap 模式时无法获得模糊的背景

如何使列表的第一个元素比 css 中的其他元素大?

当另一个 div 的高度改变或执行其内容的换行时,将 flex 方向更改为列

标题之间和之后的 Hr 线