Ir para conteúdo

POWERED BY:

Arquivado

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

danielsjdr

ENTER pra mudar de campo IGNORANDO campos DISABLED

Recommended Posts

Pessoal,

 

Como fazer para q a função de mudar de campo com ENTER ignore campos disabled?

 

a função é a seguinte:

 

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;field.form.elements[i].focus();return false;}elsereturn true;}

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem campos q são disabled no meio do formulário, então quando eu dava ENTER o erro era q o campo não podia receber o foco.

 

Mas pesquisei na internet e achei super interessante o código a seguir:

 

<html><head><script language="JavaScript">/*Este script foi desenvolvido por Crystian Zini Valduga,   com a finalidade de ajudar programadores web.É muito fácil copiar, por isso respeite quem teve a idéia   de fazê-lo. Amanha pode ser você no meu lugar.   Abraço   Bom proveito   Crystian*/var campos = new Array();// Função que adiciona os campos que vão receber o focofunction addCampos(nome){campos[campos.length] = nome;}// Função que trata o evento do teclado.(Quando se clica no enter)function enter(evt){var ret = new Boolean(true);   var tecla = (navigator.appName == 'Netscape') ? evt.keyCode : window.event.keyCode;   var nome = (navigator.appName == 'Netscape')?evt.target.name: event.srcElement.name;   var type = (navigator.appName == 'Netscape')?evt.target.type: event.srcElement.type;   if(tecla == 13){	   if(type == "button") return true;	   ret = nextCampo(nome);	   return ret;   }   return ret;}// Função que passa o foco para o próximo campo.function nextCampo(nome){for(i=0; i< campos.length; i++){ //> if(campos[i]== nome){		   if(i==campos.length-1){			   obj = eval('document.forms[0].'+campos[0]);			   obj.focus();			   break;		   } else {			   obj = eval('document.forms[0].'+campos[i+1]);			   obj.focus();			   break;		   }	   }   }   return false;}// atribuição do manipulador ao eventoif(navigator.appName=="Netscape") document.onkeypress = enter;else document.onkeydown = enter;</script></head><body onload="javascript:{document.form.text.focus();}"><form name="form" action="" method=""><table align="center"> <tr>  <td>Campo 1:</td><td><input type="text" name="text" size="10"></td>		   <script language="javascript">addCampos('text');</script> </tr> <tr>  <td>Campo 2:</td><td><input type="checkbox" name="check"></td>		   <script language="javascript">addCampos('check');</script> </tr>	<tr>  <td>Campo 3:</td>		   <td>			<select name="select">   <option value="1">Um</option>   <option value="2">Dois</option>   <option value="3">Três</option>   </select>  </td>		   <script language="javascript">addCampos('select');</script> <tr>		<td colspan="2" align="center"><input type="button" name="button" value="enviar"></td>		   <script language="javascript">addCampos('button');</script></table><form></body></html>

Funcionou maravilhosamente bem :D

 

Mto obrigado pela ajuda e espero q esse codigo ajude mais pessoas http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.