JavaScript - Medir tiempo de captura de un input en un Form

   
Vista:

Medir tiempo de captura de un input en un Form

Publicado por Alejandro Calderon (1 intervención) el 22/01/2015 04:43:34
Hola buenas noches a todos.

Es mi primera intervención en este foro, aunque anteriormente he tenido la fortuna de resolver muchas dudas a través del mismo.

Tengo un problema de muchas semanas sin lograr resolverlo, he buscado en Foros, manuales y códigos de ejemplo y no logro solucionarlo.

Tengo un desarrollo en PHP, JavaScript y HTML5 donde hay un formulario con un solo input, que recibe la lectura de un código de barras a través de un Lector. Me funciona perfectamente bien y enlazo mi aplicación a una base de datos MySQL donde puedo realizar consultas y descargar la recepción de Vales a través de su código de barras.

El problema es que debo impedir que el código de barras se teclee manualmente, solo debe recibir los datos desde el Lector de código de barras, ya que el usuario podría teclear mal un dato y descargar del sistema otro Vale y se generaría un gran descontrol. Resumiendo, debo de bloquear la entrada manualmente y solo aceptarla si viene desde un Lector de CB.

Leí que para la computadora la entrada desde un Lector de CB y desde el teclado es exactamente igual, es decir, no puede saber desde dónde vinieron los datos.

Solo encontré una posible solución que es poniendo un timer en los eventos de ese Input a través de JavaScript, en donde al final de la captura del Input se pueda medir el tiempo desde que se oprimió la primera tecla hasta que se terminó la captura y se presionó Enter (o clic en el botón Submit), y si este tiempo es muy grande asume que fue por teclado (ya que la captura manual siempre será más lenta que un Lector de CB) y lo rechaza, ya que la entrada por Lector de CB es muy rápido.

Alguien tendrá alguna idea o consejo para poder resolverlo?

Muchas gracias de antemano por leer este mensaje.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder