2013-08-26 17 views
24

Używam digitalbush masked input jQuery plugin. Działa dobrze w przeglądarkach internetowych i przeglądarce iPhone doskonale, ale nie działa na urządzeniach mobilnych z systemem Android.zamaskowane wejście nie działa w telefonach z Androidem?

Mój problem: maska ​​jest w polu wejściowym _ - _ - ___.

Po wpisaniu numerów to będzie 12345685555 ___- -

Przykład: http://rossbender.com/temp/mask.html

Wszelkie sugestie? Jak mogę to rozwiązać?

Dzięki Prasad.

+0

Czy możesz udostępnić DOM, którego użyłeś? –

+0

$ ('input [nazwa = "użytkownik [ssn]"]') .maska ​​("999-99-9999"); ale wszystkie maski zwracają takie same zachowanie. –

+0

mam na myśli html, którego użyłeś? –

Odpowiedz

32

I rozwiązany ten problem z trzech działań, które dla telefonów stacjonarnych to wszystko z Androidem 4.0+ :

  1. Zaktualizuj wejście maskowane do wersji co najmniej 1.4
  2. Dodaj type="tel" do wejścia, aby wywołać klawiaturę telefonu
  3. Usuń atrybut wejście za maxlength lub ustawić go na wartość nie pewnego kolidować z działaniem karetki, jak 20.
+2

Pracowałem dla mnie na Androidzie 4.x –

+0

pracowałem dla mnie w 5.1.1, używając maski wejściowej na formie kątowej przy użyciu płatności kątowych. Dzięki! –

+1

To nie zadziałało dla mnie. –

0

Właśnie wpadłem na ten problem i rozwiązałem go, usuwając atrybut type = "number" z pola tekstowego asp. Po tym maskowaniu dane wejściowe działały nawet na urządzeniach mobilnych.

2

Zostało to naprawione jakiś czas temu, ale z jakiegoś powodu dystrybucja zamieszczona na stronie nigdy nie została zmieniona. Jeśli pobierzesz źródło, poprawka działa: https://raw.githubusercontent.com/digitalBush/jquery.maskedinput/master/src/jquery.maskedinput.js

+0

użyłem powyższego pliku .Js. nadal problem nie został rozwiązany. Korzystam z przeglądarki Android OS i przeglądarki Chtome/Firefox obsługującej system Android Jelly Bean. – user2788596

5

Próbowałem użyć surowego skryptu, o którym wspomniał Jonathan Rowny, ale wciąż miałem ten sam problem w przeglądarce S3 - Chrome. Myślę, że ma to coś wspólnego z wejściami type="tel" i/lub type="number". W końcu musiałem użyć innej wtyczki. http://igorescobar.github.io/jQuery-Mask-Plugin/

jQuery maska ​​ (nie mylić z jQuery zamaskowany wejściami) jest bardzo podobna, ale składnia był nieco inny. Mam nadzieję, że to pomoże każdemu, kto ma ten problem.

jquery-maskowany-input składnia: $("#phone").mask("(999) 999-9999");

VS

jquery-maska ​​składnia: ('#phone').mask('(000) 000-0000');

+2

Zrobiony skrypt, o którym wspomniał Jonathan Rowny, nie działa również w Androidzie 4.1 + Chrome. Wypróbowałem skrypt Igor Escobara (jquery-mask), o którym wspomniano powyżej i działało idealnie! – user256604

+0

Skrypt Igora Escobara nie działa na starszych przeglądarkach z Androidem, ale –

Powiązane problemy