maxlength属性对<input type="number">不起作用。这只发生在Chrome。
<input type="number" class="test_css" maxlength="4" id="flight_number" name="number"/>
maxlength属性对<input type="number">不起作用。这只发生在Chrome。
<input type="number" class="test_css" maxlength="4" id="flight_number" name="number"/>
当前回答
试着用tel:
maxlength="5" type="tel"
其他回答
input type="number"的最大长度被忽略
这是正确的,请参阅这里的文档
相反,你可以使用type="text",并使用javascript函数只允许数字。
试试这个:
只有一个数字(evt)的功能 var charCode = (evt),什么?evt。事件 如果&& (charCode 31 (charCode > < 48 | | charCode > 57) { return键虚假; 的 回来真; 的 <输入类型=“文本”maxlength=“onkeypress”=“onlyNumber(事件)”>
对于有长度限制的数字输入,您也可以尝试这种方法
<input type="tel" maxlength="4" />
下面的代码将允许用户:
只能输入0-999范围内的数字。 这也限制了用户输入不超过3个字符。 当用户输入超过3个字符时,它将清除文本框。
<input type="number" name="test_name" min="0" max="999" oninput="validity.valid||(value='');">
最大长度将不能与<input type="number"工作,我知道的最好的方法是使用oninput事件限制最大长度。请看下面的代码。
<input name="somename"
oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"
type = "number"
maxlength = "6"
/>
<input type="number"> is just that…一个数字输入(尽管不能通过Javascript从字符串转换为浮点数)。
我猜,它不会限制字符的maxLength的关键输入,否则你的用户可能会陷入“关键陷阱”,如果他们忘记了一个小数在开始(尝试放一个。在索引1,当<输入类型"text"> "maxLength" attr已经到达)。然而,如果你设置了max属性,它将在表单提交时验证。
如果试图限制/验证一个电话号码,请使用type="tel" attr/value。它遵从maxLength attr,只显示移动号码键盘(在现代浏览器中),你可以将输入限制为一个模式(即pattern="[0-9]{10}")。