Ir para conteúdo

POWERED BY:

Arquivado

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

Megadeth

Enter como Tab

Recommended Posts

Boa tarde pessoal!Alquém tem idéia de como posso fazer para o enter ter a função de tab dentro de um formulário ?Pois já proucurei em muitos lugares mais os scripts não funcionaram.Desde já agradeço a todos que poderem me ajudar, ou pelo menos tentarem!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar um exemplo que o moderador Illidan fez

o script ta perfeito, funciona em todos navegadores, funciona respeitando tabindex ou nao se nao tiver, codigo javascript nao obstrusivo

 

By Carlos Reche Moderador Illidan Mago do Javascript

 

Troca Tab por enter

<script type="text/javascript">

function addEvent(obj, evType, fn) {
 if (typeof obj == "string") {
if (null == (obj = document.getElementById(obj))) {
  throw new Error("Cannot add event listener: HTML Element not found.");
}
 }
 if (obj.attachEvent) {
return obj.attachEvent(("on" + evType), fn);
 } else if (obj.addEventListener) {
return obj.addEventListener(evType, fn, true);
 } else {
throw new Error("Your browser doesn't support event listeners.");
 }
}



function iniciarMudancaDeEnterPorTab() {
 var i, j, form, element;
 for (i = 0; i < document.forms.length; i++) {
form = document.forms[i];
for (j = 0; j < form.elements.length; j++) {
  element = form.elements[j];
  if ((element.tagName.toLowerCase() == "input")
	&& (element.getAttribute("type").toLowerCase() == "submit")) {
	form.onsubmit = function() {
	  return false;
	};
	element.onclick = function() {
	  if (this.form) {
		this.form.submit();
	  }
	};
  } else {
	element.onkeypress = mudarEnterPorTab;
  }
}
 }
}



function mudarEnterPorTab(e) {
 if (typeof e == "undefined") {
var e = window.event;
 }
 var keyCode = e.keyCode ? e.keyCode : (e.wich ? e.wich : false);
 if (keyCode == 13) {
if (this.form) {
  var form = this.form, i, element;
  // se o tabindex do campo for maior que zero, irá obrigatoriamente
  // procurar o campo com o próximo tabindex
  if (this.tabIndex > 0) {
	var indexToFind = (this.tabIndex + 1);
	for (i = 0; i < form.elements.length; i++) {
	  element = form.elements[i];
	  if (element.tabIndex == indexToFind) {
		element.focus();
		break;
	  }
	}
  }
  // se o tabindex do campo for igual a zero, irá procurar o campo com tabindex
  // igual a 1. Caso não encontre, colocará o foco no próximo campo do formulário.
  else {
	for (i = 0; i < form.elements.length; i++) {
	  element = form.elements[i];
	  if (element.tabIndex == 1) {
		element.focus();
		return false;
	  }
	}
	// se não encontrou pelo tabIndex, procura o próximo elemento da lista
	for (i = 0; i < form.elements.length; i++) {
	  if (form.elements[i] == this) {
		if (++i < form.elements.length) {
		  form.elements[i].focus();
		}
		break;
	  }
	}
  }
}
return false;
 }
}


// quando terminar o carregamento da página, executa a "iniciarMudancaDeEnterPorTab"
addEvent(window, "load", iniciarMudancaDeEnterPorTab);

</script>


<h2>Com tabindex</h2>
<form action="#" method="get">
 Campo 1: <input type="text" name="campo1" tabindex="0" /><br />
 Campo 2: <input type="text" name="campo2" tabindex="2" /><br />
 Campo 3: <input type="text" name="campo3" tabindex="4" /><br />
 Campo 4: <input type="text" name="campo4" tabindex="3" /><br />
 Campo 5: <input type="text" name="campo5" tabindex="1" />
 <input type="submit" value="Enviar" />
</form>

<h2>Sem tabindex</h2>
<form action="#" method="get">
 Campo 1: <input type="text" name="campo1" /><br />
 Campo 2: <input type="text" name="campo2" /><br />
 Campo 3: <input type="text" name="campo3" /><br />
 Campo 4: <input type="text" name="campo4" /><br />
 Campo 5: <input type="text" name="campo5" />
 <input type="submit" value="Enviar" />
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado ! Valeu meu garoto !Funciona direitinho, os outro que eu havia testado nenhum funcionava.Precisando estamos ai !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz!!! Não acredito que achei o que precisava...Estava a 3 dias procurando mas nunca achava algo que realmente funcione e seje simples...

E mais uma vez o Fabyo pra salvar a pátria...hehe

 

Obrigado mesmo cara !! Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz!!! Não acredito que achei o que precisava...Estava a 3 dias procurando mas nunca achava algo que realmente funcione e seje simples...

E mais uma vez o Fabyo pra salvar a pátria...hehe

 

Obrigado mesmo cara !! Abraço!

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.