domingo, 15 de septiembre de 2013

España, Phonegap Y Android > 4.0

¿Que relación tiene estos tres elementos?... pues quizás ninguna, pero en una aplicación que programé tuve un curioso y desastroso error: no considerar la coma(,) como separador de decimales, lo anterior usado en España.
El problema viene que en los elementos "input" "number" en android > 4.0 no acepta de ninguna forma la coma como separador y después de perder el enfoque simplemente lo convierte en un integer.
Esto necesitó de un esfuerzo extra para detectarlo, pues creía que era un error mío :D. En mis entradas aceptaba cualquier carácter matemático válido y purgaba la entrada para convertirse en un float estándar. Por desgracia funcionaba bien en android 2.3 (mi mesa de pruebas), dando por bueno el sistema, aún con el reclamo de un comprador, el mío funcionaba.
Después de investigar un poco supe que era una "capacidad " del motor webkit que usa Google, la solución fue convertir esos inputs de "number" a "text" cuando el sistema detectaba un SDK >11(por si se ofrece, la diferencia entre el SDK 10 y superiores es abismal), agregando una propiedad pattern con valores matemático válidos para España.
Saludos.
@pata_de_jaguar

No hay comentarios: