2011-10-19 10 views
7

Tengo un sitio que contiene un formulario para permitir a los usuarios ingresar detalles de la tarjeta de crédito. Los campos para el número de tarjeta, número de emisión, número de CVC y la cantidad que desean depositar utilizan un cuadro de entrada en un formulario HTML con el tipo "número".¿Hay alguna manera de evitar que Mobile Safari inserte comas en campos numéricos en formularios HTML?

El Mobile Safari actualizado que viene con iOS 5 inserta automáticamente comas en números en los campos de entrada de "número". Esto no solo parece estúpido en un número CC, sino que rompe mi validación. ¿Hay alguna manera de detener esto?

El único propósito de usar "número" en lugar de "texto" es hacer que iOS y Android muestren un teclado suave solo numérico en lugar del teclado completo.

He intentado utilizar una entrada de tipo "texto" con un patrón establecido en "[0-9] *". Esto hace aparecer el teclado numérico en iOS pero no en Android. Tampoco permite que se ingrese el número con un punto decimal.

estaría muy agradecido por cualquier sugerencia :)

Gracias

+1

No solo los números CC, sino los campos simples de código postal se han roto en todas partes. Un usuario ingresa '55555' y ahora está formateado a '55, 555 '. – azdev

Respuesta

1

estoy teniendo el mismo problema. Creo que tiene que ver con el formato de región en su configuración. Puede configurar el tipo de "texto":

type = text pattern = "[0-9] {1,4} (\. [0-9] {2})?"

para un valor entre 0 y 9999,99. Sin embargo, esta solución no activa el teclado numérico en iOS 5. O mantener la configuración regional sobrescriben (punto/coma) y establecer:

type = número de paso = "0,01" max = "9999,99"

para valores decimales entre 0 y 9999.99. Además, el hecho de no validar o vaciar los campos con el atributo "obligatorio" no impide que el formulario se envíe en Safari 5.1 (OS X e iOS).

9

Cambié el mío de "número" a "teléfono" y no he visto que el problema vuelva a ocurrir.

+2

He hecho esto para el número CC, problema y CVC. El problema con "tel" es que no permite un punto decimal por lo que no se puede usar para campos de moneda. – user1003623

+0

Para los campos de moneda, ¿es malo que tengan el formato de comas? Parece que "tel" funciona para todas las situaciones donde las comas simplemente no tienen sentido. –

5

Estás cerca: todo lo que necesitas hacer es establecer el patrón en "[0-9] *" y mantener el tipo como "número".

+1

No permite puntos decimales tan inútiles para los campos de moneda :( – user1003623

Cuestiones relacionadas