Ir para conteúdo

POWERED BY:

Arquivado

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

shumi

TAB no teclado

Recommended Posts

Galera,Tem como eu determinar pra que campo vai quando o user apertar a tecla tab no teclado????Tenho um form que tenho duas colunas e essas 2 colunas tem vários input do tipo texto, sendo que uma coluna é somente pro user ver e a outra é pra ele preencher, quando do um tab o cursor vai pro campo que é somente leitura...Tem como eu determinar que ele vá somente para o campo que tenho que digitar???Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

nos inputs tem uma propriedade tabindex, coloque 0,1,2,3,4 respectivamente nos q você quer que vai.(nunca utilizei, mas em VB eh assim, naum deve ser diferente!)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adriano,

Eu posso usar esse?

 

<body onLoad="document.forms[0].elements[0].focus()"><Form name="Teste" Method="POST">Campo 1: <INPUT TYPE="TEXT" onKeyDown="if(event.keyCode==13) event.keyCode=9;"><BR>Campo 2: <INPUT TYPE="TEXT" onKeyDown="if(event.keyCode==13) event.keyCode=9;"><BR>Campo 3: <INPUT TYPE="TEXT" onKeyDown="if(event.keyCode==13) event.keyCode=9;"><BR><input type="submit" Value="Ok"><input type="reset" Value="Cancel"></form>

veja como é minha "tela".

http://www.newstyle1.com/sis/tab.jpg

 

veja que tenho o campo produto e preço o campo produto eu não quero que quando o user apertar o tab vá. só quero que quando o user apertar o tab vá para o campo preço.

É esse que devo usar?

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adriano,

Tava dando uma analisada no script e eu entendi +ou-.

 

<script language="JavaScript" type="text/JavaScript">function SaltaCampo(campo,prox,teclapres){	var tecla = teclapres.keyCode ? teclapres.keyCode : teclapres.which ? teclapres.which : teclapres.charCode;	if (tecla == 13){  document.form[prox].select(); //se não quiser o foco, desabilite!  document.form[prox].focus();	}}</script>

aqui if (tecla == 13){ que determina a tecla que tenho que apertar pra pular os campos é isso???

Compartilhar este post


Link para o post
Compartilhar em outros sites

To começando entender! rsTem algum lugar que posso consultar os valores de cada tecla?Não me fale qual é o tab, por favor, eu quero tentar fazer sozinho.Então queria se você souber onde posso consultar uma tabela com esses valores eu abradeceria!Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adriano,Eu uso um outro JS tb nesses campos que quero usar essa função salta campo.Eu tenho que unir os 2 ou não preciso? Posso usar-los separadamente?Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tava tentando fazer aqui veja:

 

<script language="JavaScript">function FormataValor(campo,tammax,teclapres) {var tecla = teclapres.keyCode ? teclapres.keyCode : teclapres.which ? teclapres.which : teclapres.charCode;vr = document.getElementById(campo).value;vr = vr.replace( "/", "" );vr = vr.replace( "/", "" );vr = vr.replace( ",", "" );vr = vr.replace( ".", "" );vr = vr.replace( ".", "" );vr = vr.replace( ".", "" );vr = vr.replace( ".", "" );tam = vr.length;if (tam < tammax && tecla != 8){ tam = vr.length + 1; }if (tecla == 8 ){ tam = tam - 1; }if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){if ( tam <= 2 ){document.getElementById(campo).value = vr; }if ( (tam > 2) && (tam <= 5) ){document.getElementById(campo).value = vr.substr( 0, tam - 2 ) + '.' + vr.substr( tam - 2, tam ); }if ( (tam >= 6) && (tam <= 8) ){document.getElementById(campo).value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + '.' + vr.substr( tam - 2, tam ); }if ( (tam >= 9) && (tam <= 11) ){document.getElementById(campo).value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '.' + vr.substr( tam - 2, tam ); }if ( (tam >= 12) && (tam <= 14) ){document.getElementById(campo).value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '.' + vr.substr( tam - 2, tam ); }if ( (tam >= 15) && (tam <= 17) ){document.getElementById(campo).value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '.' + vr.substr( tam - 2, tam );}}}</script><script language="JavaScript" type="text/JavaScript">function SaltaCampo(campo,prox,teclapres){	var tecla = teclapres.keyCode ? teclapres.keyCode : teclapres.which ? teclapres.which : teclapres.charCode;	if (tecla == 13){  document.cadastro[prox].select(); //se não quiser o foco, desabilite!  document.cadastro[prox].focus();	}}</script>

ai estão minhas 2 funções. a 1º é aquela que você me ensinou que formata os campos em moeda e a 2º é a função Salta campos.

 

ai aqui to na duvida.

veja:

 

<input name="preco" type="text" id="preco <%=nosso_produto%>" onKeyDown="FormataValor('preco <%=nosso_produto%>', 13, event)">

esse acima é meu campo como está hoje. e agora eu tenho que enserir a função salta campos, mas como vou fazer isso sendo que meus campos são dinamico???

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu pensei nisso, mas tem 1 problema que eu tenho que informar o nome do proximo campo certo?

 

Então fiz meu script assim:

<input name="preco" type="text" id="preco <%=nosso_produto%>" onKeyDown="FormataValor('preco <%=nosso_produto%>', 13, event)" onKeyup="SaltaCampo('<%=nosso_produto%>','<%=nosso_produto%>',event)">

e no cod de fonte aparece assim:

<input name="preco" type="text" id="preco  Produto 2" onKeyDown="FormataValor('preco  Produto 2', 13, event)" onKeyup="SaltaCampo(' Produto 2',' Produto 2',event)">

ou seja o mesmo nome de campo.

como que tenho que informar o proximo campo???

Compartilhar este post


Link para o post
Compartilhar em outros sites

É pq meus campos se formão em loop

veja:

 

<%while not rs2.EOF	   	nosso_produto = rs2("nosso_produto")%>	   <tr>				  <td width="70"><span class="texto10">Produto:</span></td>	   		<td width="175"><span class="texto10">	<input name="produto" id="produto" type="text" value="<%=nosso_produto%>" readonly="readonly">   </span></td>	<td><span class="texto10">Preço :</span></td>	<td><input name="preco" type="text" id="preco <%=nosso_produto%>" onKeyDown="FormataValor('preco <%=nosso_produto%>', 13, event)" onKeyup="SaltaCampo('<%=nosso_produto%>','<%=nosso_produto%>',event)"></td>	</tr><%						rs2.movenext			wend%>

Eu só determino 1 vez pra eles aparecerem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido o problema!!!!ao inves de campo texto para o campo que queria que pulasse eu coloquei campo hidden e mandei escrever o nome do produto apenas.Assim eliminando uma caixa de texto e pronto!!!! rsValeu Abraços!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

soh uma coisa, c você quizer o codigo de uma tecla sem consultar uma tabela, faz assim:

 

<script>function pegaTecla(evt) {  var e = evt || event;  alert(e.keyCode);}</script><input type="text" onkeydown="pegaTecla(event);" />

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.