簡體   English   中英

在android webview中使用html5的type = text的輸入標簽的最大長度不起作用

[英]maxlength of input tag with type=text using html5 in android webview not working

我能夠在 android webview 中使用 html5 輸入超過指定的輸入標簽的最大長度,type=text。 當失去焦點/模糊時,值將被修剪為 maxlength。

例如

<input type="text" maxlength="5" id="hahaha">

 value entered = abcdefghij
 on blur/lostfocus value displayed = abcde.

是否有任何限制用戶輸入比 maxlength 多的字符而不是在用戶輸入內容后修剪內容 在 IOS 中它工作正常。

這個問題可能是 Android 4.1 版本中的一個錯誤,你可以在這里看到35264 你可以用一些 Javascript 來解決這個問題:

<input type="text" maxlength="3" id="hahaha" onkeypress="if(this.value.length >= this.getAttribute('maxlength') return false;" />

或 JQuery:

$(function() {
    max_length = Number($("#hahaha").attr("maxlength"));
    $("#hahaha").attr("onkeypress", "if(this.value.length >= max_length) return false;");
});

聚會有點晚了,但正如 neliojrr 提到的,您可以使用 javascript/jquery 更正此問題。 但是,我很想使這更通用:

$('input[maxlength]').on('keydown', function(event) {
    var $this = $(this);
    if ($this.val().length > parseInt($this.attr('maxlength'), 10)) {
        event.preventDefault();
    }
});

謝謝@paddybasi,它對我有用。 只是一個小的修正。 keydown 事件似乎在 android 中不起作用。 所以我們需要將事件更改為“textInput”。

 $('input[maxlength],textarea[maxlength]').on('textInput', function (event) { var $this = $(this); if ($this.val().length >= parseInt($this.attr('maxlength'), 10)) { event.preventDefault(); } });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM