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: