DI
Problemas com ENTER Para Campos calculados em OnChange ou OnExit
Olá pessoal,
Passei por um problema hoje sobre um campo calculado que faz uma multiplicação simples em um formulário mestre detalhe.
Durante o processo o campo QTD a ser entregue do produto faz um cálculo com o valor unitário no Detalhe do Mestre Detalhe.
Pois bem,
Digitando a qtd ao sair do campo ou ao atualizar é feito o cálculo.
Agora se vocês testarem observe que digitando um valor , 10 por exemplo e pressionar ENTER. ele faz o cálculo mas não atualiza direito o que gerar um Terrível erro ao clicar em salvar.
Então usei um artifício para que quando pressionar ENTER o sistema entenda que seja TAB
TScript::create(" $('body').on('keydown', 'input, select, textarea', function(e) { var self = $(this) , form = self.parents('form:eq(0)') , focusable , next ; if (e.keyCode == 13) { focusable = form.find('input,a,select,button,textarea').filter(':visible'); next = focusable.eq(focusable.index(this)+1); if (next.length) { next.focus(); } else { form.submit(); } return false; }});");
Porém coloquei no Tpage e no Twindow. Prática não recomendada mas funciona para todos os forms. Daí não se tem Submit com ENTER.
Espero que se atentem com isso.
Abraços.
Daniel
Passei por um problema hoje sobre um campo calculado que faz uma multiplicação simples em um formulário mestre detalhe.
Durante o processo o campo QTD a ser entregue do produto faz um cálculo com o valor unitário no Detalhe do Mestre Detalhe.
Pois bem,
Digitando a qtd ao sair do campo ou ao atualizar é feito o cálculo.
Agora se vocês testarem observe que digitando um valor , 10 por exemplo e pressionar ENTER. ele faz o cálculo mas não atualiza direito o que gerar um Terrível erro ao clicar em salvar.
Então usei um artifício para que quando pressionar ENTER o sistema entenda que seja TAB
TScript::create(" $('body').on('keydown', 'input, select, textarea', function(e) { var self = $(this) , form = self.parents('form:eq(0)') , focusable , next ; if (e.keyCode == 13) { focusable = form.find('input,a,select,button,textarea').filter(':visible'); next = focusable.eq(focusable.index(this)+1); if (next.length) { next.focus(); } else { form.submit(); } return false; }});");
Porém coloquei no Tpage e no Twindow. Prática não recomendada mas funciona para todos os forms. Daí não se tem Submit com ENTER.
Espero que se atentem com isso.
Abraços.
Daniel