Len*_*and 20 html iphone html5 input jquery-mobile
似乎"maxlength","min"或"max"HTML属性都没有对iPhone进行以下标记所需的效果:
<input type="number" maxlength="2" min="0" max="99"/>
Run Code Online (Sandbox Code Playgroud)
这个数字只是在iPhone 4上键入时,而不是限制数字的数量或输入的数字的值.这个标记适用于我们测试的大多数其他手机.
是什么赋予了?
任何解决方法?
如果它对解决方案很重要,我们使用jQuery mobile.
谢谢!
小智 33
例
JS
function limit(element)
{
var max_chars = 2;
if(element.value.length > max_chars) {
element.value = element.value.substr(0, max_chars);
}
}
Run Code Online (Sandbox Code Playgroud)
HTML
<input type="number" onkeydown="limit(this);" onkeyup="limit(this);">
Run Code Online (Sandbox Code Playgroud)
如果您使用的是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));
}
});
Run Code Online (Sandbox Code Playgroud)
HTML
<input type="number" id="input">
Run Code Online (Sandbox Code Playgroud)
你可以使用这个代码:
<input type="number" onkeypress="limitKeypress(event,this.value,2)"/>
Run Code Online (Sandbox Code Playgroud)
和js代码:
function limitKeypress(event, value, maxLength) {
if (value != undefined && value.toString().length >= maxLength) {
event.preventDefault();
}
}
Run Code Online (Sandbox Code Playgroud)