Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
屏蔽输入在android手机中不起作用?_Android_Jquery_Jquery Plugins_Maskedtextbox - Fatal编程技术网

屏蔽输入在android手机中不起作用?

屏蔽输入在android手机中不起作用?,android,jquery,jquery-plugins,maskedtextbox,Android,Jquery,Jquery Plugins,Maskedtextbox,我在用电脑。它在网络浏览器和iPhone浏览器中运行良好,但在Android移动设备上不起作用 我的问题: 面具是 在输入字段中 当我输入数字时,它将是1234568555 例如: 有什么建议吗?我怎样才能解决这个问题 谢谢 Prasad。我刚刚遇到了这个问题,通过从asp文本框中删除属性type=“number”解决了这个问题。此后,即使在移动设备上,屏蔽输入也能起作用。这一问题在一段时间前已得到解决,但由于某些原因,网站上发布的发行版从未接受这些更改。如果您从原始源抓取,修复程序会起作用:我

我在用电脑。它在网络浏览器和iPhone浏览器中运行良好,但在Android移动设备上不起作用

我的问题: 面具是 在输入字段中

当我输入数字时,它将是1234568555

例如:

有什么建议吗?我怎样才能解决这个问题

谢谢
Prasad。

我刚刚遇到了这个问题,通过从asp文本框中删除属性type=“number”解决了这个问题。此后,即使在移动设备上,屏蔽输入也能起作用。

这一问题在一段时间前已得到解决,但由于某些原因,网站上发布的发行版从未接受这些更改。如果您从原始源抓取,修复程序会起作用:

我尝试使用Jonathan Rowny提到的原始脚本,但在S3-Chrome浏览器上仍然存在相同的问题。我认为这与输入
type=“tel”
和/或
type=“number”
有关。我最后不得不使用另一个插件

jquery掩码(不要与jquery掩码输入混淆)非常相似,但语法略有不同。希望这能帮助其他人解决这个问题

jquery屏蔽输入语法:
$(“#电话”).mask(“(999)999-9999”)

VS


jquery掩码语法:
('#phone').mask('(000)000-0000')

我通过三个操作解决了这个问题,这三个操作修复了所有Android 4.0+手机的问题:

  • 将屏蔽输入更新至至少版本1.4
  • type=“tel”
    添加到输入中,以触发数字键盘
  • 删除输入的
    maxlength
    属性,或将其设置为不干扰插入符号操作的特定值,如
    20

  • 在尝试了不同的掩码库(Inputmask、ui mask、ngMask)之后,我最终使用了它,它工作得非常好,而且是轻量级的,并且有很好的文档记录,并且有angularjs、react,。。。示例。

    问题中使用的库不再维护。我将我的应用程序切换到,因为它工作得很好,有一个与前库非常相似的base init调用,实现了非常简单的转换,在撰写本文时,它定期在GitHub中维护


    我的问题是当输入3或4位数字时,电话号码屏蔽器将光标移回第二个位置。光标在这一点之后继续表现出奇怪的行为。在使用Chrome post major版本51的android平板电脑中使用jQuery Masked Input v1.4.1(旧库)时注意到了这个问题。

    为了进一步增强Tony Brasunas的公认答案,请在jQuery.maskedinput.js中为第3点添加以下代码片段,以动态增加maxlength,从而不会干扰插入符号操作

    删除输入的maxlength属性或将其设置为不干扰插入符号操作的特定值,如20


    这可能是一个快速解决方案:

    var ua = navigator.userAgent;
    var isAndroid = /Android/i.test(ua);
    var isChrome = /Chrome/i.test(ua);
    
    // Fix masking on Chrome for mobile devices
    if (isAndroid && isChrome) {
        $('.price_input').attr('type','tel');
    }     
    

    您可以共享您使用过的DOM吗?$('input[name=“user[ssn]”)。掩码(“999-99-9999”);但是所有的屏蔽都返回相同的行为。我的意思是你使用的html?Ruby on rails(html查看页面)这是在一段时间前(11个月前)修复的,但由于某种原因,网站上发布的发行版从未接受这些更改。如果你从原始源代码中获取,那么修复是有效的:Jonathan Rowny提到的原始脚本在Android 4.1+Chrome上也不适用于我。我试过上面提到的IgorEscobar脚本(jQueryMask),效果非常好!IgorEscobar的脚本在旧的Android股票浏览器上不起作用,尽管我使用了上面的.Js文件。问题仍然没有解决。我正在使用安卓果冻豆操作系统和Chtome/Firefoxbrowser@user2788596可能是因为浏览器的缓存。不管怎样,今天它可以工作了,你可以在这里看到的是1.4.1版本,在android 4.x上为我工作,在5.1.1上为我工作,在角度表单上使用输入掩码,使用角度支付。谢谢这对我有用。三星键盘有一个问题,因为预测文本,这是通过强制数字键盘解决的。我在安卓6.0.1上工作过,注意到7@Max-您是否已经有最新版本的屏蔽输入,并且是否设置了
    maxlength
    值?
    var ua = navigator.userAgent;
    var isAndroid = /Android/i.test(ua);
    var isChrome = /Chrome/i.test(ua);
    
    // Fix masking on Chrome for mobile devices
    if (isAndroid && isChrome) {
        $('.price_input').attr('type','tel');
    }