如何限制可以在 iPhone 上的 HTML5 数字输入字段中输入的字符数

新手上路,请多包涵

对于以下标记,“maxlength”、“min”或“max”HTML 属性似乎都没有在 iPhone 上产生预期的效果:

  <input type="number" maxlength="2" min="0" max="99"/>

数字没有限制数字的数量或输入的数字的值,而是保留了在 iPhone 4 上输入的数字。此标记适用于我们测试的大多数其他手机。

是什么赋予了?

任何解决方法?

如果它对解决方案很重要,我们会使用 jQuery Mobile。

谢谢!

原文由 Lennart Rolland 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 295
2 个回答

例子

JS

 function limit(element)
{
    var max_chars = 2;

    if(element.value.length > max_chars) {
        element.value = element.value.substr(0, max_chars);
    }
}

HTML

 <input type="number" onkeydown="limit(this);" onkeyup="limit(this);">

如果您使用的是 jQuery,您可以稍微整理一下 JavaScript:

JS

 var max_chars = 2;

$('#input').keydown( function(e){
    if ($(this).val().length >= max_chars) {
        $(this).val($(this).val().substr(0, max_chars));
    }
});

$('#input').keyup( function(e){
    if ($(this).val().length >= max_chars) {
        $(this).val($(this).val().substr(0, max_chars));
    }
});

HTML

 <input type="number" id="input">

原文由 will 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以使用此代码:

 <input type="number" onkeypress="limitKeypress(event,this.value,2)"/>

和js代码:

 function limitKeypress(event, value, maxLength) {
    if (value != undefined && value.toString().length >= maxLength) {
        event.preventDefault();
    }
}

原文由 Behnam 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题