![](/img/trans.png)
[英]maxlength not working in input type text in cordova android app
[英]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.