Mudança de campo ao teclar ENTER [ resolvido ]

4 respostas
joaosouza

Olá pessoal, estou desenvolvendo um sistema em java para web. Nele Tenho

um formulário com diversos campos, minha dúvida é como faço para passar

o foco de um campo para o próximo campo teclando ENTER?

Desde já agradeço a ajuda.

4 Respostas

gustavodelgado

A única maneira que conheço de se fazer isso é por java script.
Crie um arquivo .js com o seguinte conteúdo:

// JavaScript Document
function handleEnter (field, event) {
  var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
	  var i;
	  for (i = 0; i < field.form.elements.length; i++)
	    if (field == field.form.elements[i])
		  break;
	  i = (i + 1) % field.form.elements.length;
	  while (field.form.elements[i].type == "hidden")
	    i = (i + 1) % field.form.elements.length;
	  field.form.elements[i].focus();
	  return false;
	} 
	else
	  return true;
}     
   
function pular(){
  if (window.event.srcElement.type != 'submit' && window.event.srcElement.type != 'button' && window.event.srcElement.type != 'reset' && window.event.srcElement.type != 'textarea'){
	var ele = window.event.srcElement;
    var index = ele.sourceIndex;
    return handleEnter(ele, event);
  }
}
   
document.onkeydown = pular;

E importe este arquivo em seus JSPs… :wink:

xgucax

Caro João
Alguns browsers implementam essa funcionalidade apenas com a definição do atributo tabindex(apesar de por definição, ele apenas indicar a ordem de quando pressionamos a tecla TAB). Com JSF, você pode definir uma tecla de acesso (accessKey). Como você está elaborando a visão de sua página? JSP normal ou algum framework para a visão?

joaosouza

Olá,

gustavodelgado muito obrigado pela contribuição de código, utilizei e

funcionou perfeitamente.

xgucax obrigado pela dica, hoje utilizo Mentawai nas minhas aplicações e

descobri que ele suporta essa funcionalidade também.

Obrigado a todos pela atenção e ajuda.

fladson

Funciounou certinho para o IE, mas no firefox não deu, alguma sugestão ?

Criado 27 de novembro de 2006
Ultima resposta 1 de jul. de 2011
Respostas 4
Participantes 4