maxlength属性对<input type="number">不起作用。这只发生在Chrome。

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

当前回答

您可以使用min和max属性。

下面的代码做同样的事情:

<输入类型=“数字” 最小=“-999” 最大=“9999”/>

其他回答

这个代码对我有用

<形式方法=“post”> <label for="myNumber">我的号码:</label> <input type="number" maxlength="9" required Oninput ="javascript: if (this.value。长度> this. maxlength) this。Value = this.value。片(0,this.maxLength);“> < br > < br > <input type="submit" value=" submit" > > < /形式

根据我的经验,人们问为什么maxlength被忽略的大多数问题是因为允许用户输入超过“允许”的字符数量。

正如其他注释所述,type="number"输入没有maxlength属性,而是有min和max属性。

要让字段限制可以插入的字符数量,同时允许用户在提交表单之前意识到这一点(否则浏览器应该识别值> max),您必须(至少目前)向该字段添加一个侦听器。

这是我过去使用的一个解决方案:http://codepen.io/wuori/pen/LNyYBM

input type="number"的最大长度被忽略

这是正确的,请参阅这里的文档

相反,你可以使用type="text",并使用javascript函数只允许数字。

试试这个:

只有一个数字(evt)的功能 var charCode = (evt),什么?evt。事件 如果&& (charCode 31 (charCode > < 48 | | charCode > 57) { return键虚假; 的 回来真; 的 <输入类型=“文本”maxlength=“onkeypress”=“onlyNumber(事件)”>

我有这个问题在django形式。这就是我解题的代码。

HTML

<input type="tel" maxlength="6" oninput="this.value=this.value.replace(/[-]/g,'');"></input> <!-- I needed to remove the "-" sinc tell field accepts it. -->

Django形式

class TokenForm(forms.Form):
code = forms.CharField(
    required=True,
    label="Enter 6 digit confirmation code",
    widget=forms.TextInput(
        attrs={
            "class": "form-control",
            "placeholder": "Enter 6 digit code",
            "type": "tel",
            "maxlength":"6", 
            "oninput":"this.value=this.value.replace(/[-]/g,'');"
        }
    ),
)

我会让这个快速和容易理解!

使用min= "和max= "代替maxlength for type='number' (maxlength用于定义文本类型中字符串的最大字母数)。

干杯