Telescope (core)

Como determinar qual o campo em que o cursor será posicionado em uma interface?

ADS.FAQ-10755
Por padrão, o cursor é automaticamente posicionado (foco) no primeiro campo editável dos formulários.

Este comportamento pode ser alterado através de uma preferência:
{SISTEMA}.{BLOCO}.{FUNCAO}.INITIAL_FOCUS=NOME_DO_CAMPO
Exemplo:
RTPREF.CAD_PREFERENCIAS.INSERT.INITIAL_FOCUS=DESCRICAO

Esta parametrização não terá nenhum efeito no caso do campo inicial informado não existir ou não for editável.

Se for necessário incluir uma regra de negócio que posicione o cursor em um local diferente, basta escrever um código Java chamado em um método pre/pos-display que, na condição desejada, posicione o cursor chamando o método "requestFocus()" no campo desejado:
aCampo.requestFocus();

Este mesmo comando também pode ser utilizado em métodos chamados através de eventos on-change, on-focus e on-blur, etc.

Para fazer a mesma coisa em Javascript, deve-se utilizar uma chamada tipo:
getDomain("#id").setFocus();
onde #id é o id de um dos elementos DOM que fazem parte do campo desejado.

Ver também: