<html>
<head>
<title>Minha Página</title>
</head>
<body>
<form name="nome_de_seu_formulario">
<input type="text" name="meu_campo" value="teste">
<input type="text" name="valor2" value="valor do campo">
<input type="text" name="qualquer_coisa" value="qualquer coisa aqui">
</form>
<script type="text/javascript">
//Essa variável guarda o número do elemento que está com foco atualmente
foco=0;
//Função executada quando a página é carregada
window.onload=function(){
//Quando uma tecla for pressionada, chama a função "VerificaTecla"
document.body.onkeydown=VerificaTecla
//Atribui o formulário a variável "x"
x=document.nome_de_seu_formulario
//Percorre os elementos do formulário e modifica seu evento onfocus (quando o campo obtém foco)
for(i=0;i<=x.length;i++){
x.onfocus="MudaFoco("+i+")"
}
}
//Função "MudaFoco" (muda o valor da variável foco para o parâmetro que foi passado)
function MudaFoco(i){
foco=i
}
//Essa função verifica se a tecla pressionada foi 'Enter'
function VerificaTecla(){
if (event.keyCode==13 /*Pode-se utilizar qualquer valor ASCII, o 13 corresponde ao enter*/){
//Atribui o formulário à variável "x"
x=document.nome_de_seu_formulario
//Verifica se o elemento selecionado atualmente é o último elemento do formulário
if (foco+1<x.length){
foco++
}else{
foco=0
}
//Dá foco ao próximo elemento
x.elements(foco).focus()
//Retorna "false", o que "cancela" o pressionamento da tecla
return false;
}
}
</script>
</body>
</html>
Observação:
Ao invés de "13", pode-se utilizar qualquer outro número (no caso de utilizar outra tecla, é claro).Esse número foi utilizado porque corresponde ao [Enter]
O código está todo comentado
Portanto, não há necessidade de explicar mais ainda (caso tenham alguma dúvida, perguntem)
Pergunta
Jonathan Queiroz
Código:
Observação:
O código está todo comentado
Portanto, não há necessidade de explicar mais ainda (caso tenham alguma dúvida, perguntem)
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.