ssn máscara con jquery en android2.3.3
Estoy intentando proporcionar una máscara para permitir que el usuario incorpore ssn en el formato de 999-99-9999. Intenté utilizar el complemento de entrada enmascarado del mazo digital . Esto funciona bien en cromo y safari, pero no funciona en Android.
Problema: Al ingresar los números, está bien hasta 123- y cuando ingreso los 2 dígitos siguientes invierte la secuencia. por ejemplo: si entre 123-45 aparece como 123-54 y este problema continúa para cada separador. Por ejemplo: si ingreso 123-45-6789, aparece como 123-56-8974
- Phonegap, JQM y Android Slow Performance
- ¿cómo puedo obtener el valor de webkit-column-count y la página actual o ID de columna?
- Mostrar una imagen desde url externa usando phonegap / jquery para android
- Jquerymobile + Phonegap> cómo detener la rotación de la página?
- ¿Deshabilitar las superposiciones de entrada del navegador de Android?
Intenté escribir mi propio código como abajo para manejar el keypress y el keyup y todavía conseguir el mismo problema. ¿Alguien ha tenido éxito con la entrada de enmascaramiento en android? ¿Cuál es la alternativa?
Aquí está el html completo con enlaces locales al código:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title> test ground</title> <!-- JQuery specific --> <script type="text/javascript" src="libs/jQuery/jQuery.min.js" ></script> <script type="text/javascript" src="libs/jQuery/mobile/jquery.mobile.min.js"></script> <link rel="stylesheet" href="libs/jQuery/mobile/jquery.mobile.min.css" /> <script src="javascript/jquery.maskedinput-1.3.js" type="text/javascript" charset="utf-8"></script> <!-- Application specific --> <script type="text/javascript"> $(document).bind('mobileinit',function(){ // $.mobile.page.prototype.options.addBackBtn = true; // $.mobile.page.prototype.options.backBtnText = "Previous"; // $.mobile.page.prototype.options.backBtnTheme = "b"; }); $("[data-role='page']").live("pageshow", function(event) { $("#primaryssn").mask("999-99-9999"); }); </script> </head> <body> <!-- ################### PAGE: launchpage ################### --> <div data-role="page" id="launchpage"> <div id="header" data-role="header" data-position="fixed" > <div id="headerlogo" > </div> <h1 class="appTitle" >My App</h1> </div> <div data-role="content" > <div class="content-primary"> <p> Welcome to my app </p> <br/> </div> <!-- Primary SSN --> <div data-role="none"> <label name="lblprimaryssn" for="primaryssn" > SSN</label> <input type="text" name="primaryssn" id="primaryssn" value="" /> <span class="error" id="primaryssnerror"> Please enter your SSN as (999-99-9999) </span> </div> <br/> </div><!-- /content --> </div><!-- /launch page --> </body> </html>
Aquí está el código que usé para enmascarar la entrada basado en el golpe de la llave en el keyup:
// _v is value passed in on keyup in this input field // _d indicates if the key is a backspace to delete character var setSSN = function (_v, _d){ var v = $.trim(_v); if ( !_d ){ if ( v.length <= 3 ) { var validformat1=/^\d{1,3}$/ ; if ( validformat1.test(v)) { if ( v.length == 3 ) v = v + '-'; return v; } } else if ( v.length >3 && v.length <= 6) { var validformat2=/^\d{3}\-\d{0,2}$/ ; if ( validformat2.test(v)) { if ( v.length == 6 ) v = v + '-'; return v; } } else { var validformat3=/^\d{3}\-\d{2}\-\d{0,4}$/ ; if ( validformat3.test(v)) { if ( v.length == 6 ) v = v + '-'; return v; } } v = v.substring(0,v.length-1); return v; } else { if ( 3 == v.length || 6 == v.length ) { v = v.substring(0,v.length-1); } } return v; }
- Soporte de iframe en móviles
- jQueryMobile se ejecuta en Android / PhoneGap rechaza .load / .ajax
- Uso de jquery móvil toque en lugar de haga clic
- ¿Cómo utilizar iconos personalizados en jQuery móvil?
- ¿Por qué cordova.exec () se ejecuta en mi aplicación Android PhoneGap (1.7) antes de "deviceready"?
- Pantalla de inicio de la aplicación de Android con jQuery Mobile
- Seleccione el estilo de la caja en Android 2.3 diferente de Android 4.2
- PhoneGap jQuery-Mobile aplicación que utiliza tanto local y páginas de servidor
Si sólo desea ocultar los caracteres que escriben, puede utilizar
<input type="password">
Este problema se ha solucionado en el complemento jquery de entrada enmascarado. La actualización de la versión más reciente debería resolver este problema.
- Problemas al configurar un TCP Proxy transparente en Android / Linux
- Reabrir la cámara después de cancelar el selector de intenciones