这是一个文本字段。请参阅..我将maxlength属性设置为10.因此,只能输入10个字符
<input maxlength="10" id="txt_name" name="txt_name" type="text" required="required"/>
这是一个数字字段。我希望它的最大长度为10,这样用户就可以输入他们的10位数手机号码。这限制了用户输入其他数字。
<input id="txt_mob" name="txt_mob" type="number" maxlength="10"/>
但是maxlength无法使用数字字段。为什么??有没有办法在不使用Javascript或jQuery的情况下执行此操作?
这是FIDDLE。
答案 0 :(得分:1)
数字类型不接受属性maxlength。 你可以试试这个
将类型设置为文本并使用它。
此脚本只接受数字输入,将其放在页面的头部。
<script>
function isNumber(event) {
if (event) {
var charCode = (event.which) ? event.which : event.keyCode;
if (charCode != 190 && charCode > 31 &&
(charCode < 48 || charCode > 57) &&
(charCode < 96 || charCode > 105) &&
(charCode < 37 || charCode > 40) &&
charCode != 110 && charCode != 8 && charCode != 46 )
return false;
}
return true;
}
</script>
然后在输入字段中使用此
onkeydown="return isNumber(event);"
例如
<input type="text" onkeydown="return isNumber(event);" maxlength="10" />
答案 1 :(得分:1)
来自mdn,
如果type属性的值是text,email,search,password,tel或url,则此属性指定用户可以输入的最大字符数(以Unicode代码点为单位);对于其他控件类型,它将被忽略。
因此
会忽略maxlength <input type="number">
按设计。因此,您可以使用常规文本输入并使用新模式属性
对字段强制执行验证 <input type="text" pattern="([0-9]{3})" maxlength="4">
希望它有所帮助...
答案 2 :(得分:0)
对于输入编号,您需要使用min / max属性:
<input type="number" id="txt_mob" name="txt_mob" min="1" max="5">
您可以在w3schools网站上看到一个示例:
答案 3 :(得分:0)
对于类型编号的输入元素,您不能使用maxlength,该属性仅用于字符串。对于数字,您可以使用min =&#34; 0&#34;和max =&#34; 10&#34;。 你可以在这里看到一个例子:
答案 4 :(得分:0)
您可以使用<input type="number" name="quantity" min="1" max="9999999999">