Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alan Rezende

Botão "enter" do teclado como tab em um Formulário

Recommended Posts

Pessoal, boa noite

 

Estou desenvolvendo um script basicamente, para dar a tecla "Enter" quando clicada dentro de um documento, a funcionalidade da tecla "Tab".

 

Em meu raciocínio o que fiz...

 

1º Capturei o click do botão "Enter" dentro de um documento com o seguinte código:

document.onkeypress = captureEnter;

// a linha de código acima, captura o o click da tecla "Enter" dentro do doc e executa a função,

//captureEnter.

 

2º Esta função (captureEnter) quando chamada, primeiramente verifica se o click veio da tecla "Enter", e se sim a idéia é que ele execute um bloco de código que tem como objetivo:

1 - Capturar o index do form em questão;

2- Add a este index o valor de + 1;

3 - Dar o foco no campo [index + 1];

O código que fiz é este abaixo, no entanto não está funcionando, alguém pode me dizer o que está errado neste código?

 

 

function captureEnter(e) {
  //var str = new String(document.getElementById(idobj).value;
  //alert("Inside captureEnter");
    
    var code  = (e.keyCode ? e.keyCode : e.which);
       if(code == 13) {
       //alert("valor da code e = " + code);
	   var indexInput = [0];
	   var elementInput = document.forms[0].length;
	   var proximo = elementInput[index + 1];
		    proximo.focus();
		   //alert("Você Pressionou o botão Enter")
    }
 }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

23 visualizações e nenhuma resposta?!?

Enquanto isso tem uma galera neste site com "reputação incrivel" copiando e colando códigos que não funcionam, e se fazendo de bom programdor!!!!

Descobri como fazer, segue abaixo os códigos...

JS:

function autoTab(input, e)  {   
  var ind = 0;  
  var isNN = (navigator.appName.indexOf("Netscape")!=-1);  
  var keyCode = (isNN) ? e.which : e.keyCode;   
  var nKeyCode = e.keyCode;   
  if(keyCode == 13){   
    if (!isNN) {window.event.keyCode = 0;} // evitar o beep  
    ind = getIndex(input);  
    if (input.form[ind].type == 'textarea') {  
      return;  
    }  
    ind++;  
    input.form[ind].focus();   
    if (input.form[ind].type == 'text') {  
      input.form[ind].select();   
    }  
  }   
  
  function getIndex(input) {   
    var index = -1, i = 0, found = false;   
    while (i < input.form.length && index == -1)   
      if (input.form[i] == input) {  
        index = i;  
          if (i < (input.form.length -1)) {  
           if (input.form[i+1].type == 'hidden') {  
       index++;   
     }  
     if (input.form[i+1].type == 'button' && input.form[i+1].id == 'tabstopfalse') {  
       index++;   
     }  
   }  
      }  
      else   
   i++;   
    return index;   
  }  
}   
  

HTML:

<form>  
   Campo 1 : <input type="text" name="c1" id="c1" onkeypress ="autoTab(this, event);"><br />  
  
   Campo 2 : <input type="text" name="c2" id="c2" onkeypress ="autoTab(this, event);"><br />  
  
   <input type="button" value=" blah " ><br />  
  
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

parabéns por voltar e compartilhar a resposta.

 

eu realmente não tinha visto esse tópico antes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.