Tenho uma situação real que estou tentando descobrir como resolver pelo JavaScript. Caso alguém possa me dar alguma dica, desde já agradeço infinitamente. É a seguinte: 1) tenho uma página HTML que possui uma caixa de texto que será preenchida com o "bipe" (pistolado) de um código de barras (com o número de um recibo). Por este motivo, a caixa de texto deve ter sempre o "foco", por causa da "bipagem". 2) No evento "enter" desta caixa de texto acionamos o commit deste form que faz uma pesquisa no banco de dados, preenche um objeto em memória e envia uma segunda página web, com o layout de um formulário preenchido com os dados lidos do banco de dados para uma impressora local. Toda essa parte está funcionando! Desafio: O usuário é um operário de uma fábrica e "bipa" os códigos de barra em alta velocidade, sem olhar para a tela. Consequência: Em alguns momentos em que o sistema está processando os dados, ou quando ocorre um erro na impressora, a caixa de texto perde o foco e a bipagem é perdida. A minha missão é resolver este problema de bipagem/foco para que o operário possa executar esta impressão em alta velocidade, como é realizado atualmente em outro sistema desktop. Recebi uma sugestão em usar o setTimeout e popular um array e de tempos em tempos enviar para o processamento. A dificuldade é popular uma lista de dados bipados, mover da tela (View) para a Controller e retornar para o JavaScript onde uma mensagem deve ser exibida para cada registro bipado informando se cada recibo bipado foi localizado ou não e se foi enviado para a impressora.
Alguém teria uma dica em JavaScript do que eu poderia fazer? Obrigada.