Ir para conteúdo
Fórum Script Brasil
  • 0

Desativar Enter


Palompas

Pergunta

Olá pessoal!!!

Estou precisando de uma ajudinha aqui... creio que não seja algo difícil, pois já vi isso em alguns sistemas. :huh:

Bom. O negócio é o seguinte. Estou precisando de um código que desative a função do ENTER. A princípio parece fácil pois é só declarar o código da tecla e retornar false. Mas o problema é que dentro do meu form não pode existir nenhuma declaração de foco :( . Peguei um código aqui no fórum que faz o seguinte:

<script language="javascript">
   function bloqEnter(objEvent) {
      var iKeyCode;   
      iKeyCode = objEvent.keyCode;
      if(iKeyCode == 13) return false;
      return true;
   }
</script>

<form method="post">
   Nome:<input type="text" name="nome" onkeypress="return bloqEnter(event)"> 
   <input type="submit" value="Enviar">
</form>
Esse código funciona só que o ideal seria não termos no form a declaração "onkeypress" pois no meu sistema eu tenho form's independentes e alguns compontentes faces dinâmicos. Ou seja: Não há como retornar o evento bloqEnter em todos os compontentes pois, além de serem vários form's (ficando inviável retornar isso em todos os objetos do form), tenho também alguns form's que são criados dinamicamente e não tenho como declarar esse código em um objeto que ainda não exista. -_- Para tanto fiz isso com o script:
<script language="javascript">
   function bloqEnter(objEvent) {
      var iKeyCode;
      iKeyCode = objEvent.keyCode;
      if(iKeyCode == 13) return false;
      return true;
   }

   if (document.captureEvents) {
      document.captureEvents(Event.SUBMIT | Event.KEYPRESS);
   }
   else {
      document.captureEvents(window.event.SUBMIT);
   }
   document.onkeypress = bloqEnter;
</script>

<form method="post">
   Nome:<input type="text" name="nome">
   <input type="submit" value="Submeter">
</form>

Vejam que agora não há o evento "onkeypress="return bloqEnter(event)"" no form para bloquear a função do ENTER.

Esse código mostrou-se totalmente eficaz no Firefox só que preciso, também, que funcione no Internet Explorer <_< . Porém não consegui fazê-lo.

Andei pesquisando e vi que existe uma função chamada "returnKeycode". Pelo que vi ela seria eficaz. Porém não obtive sucesso nas tentativas. Vocês poderiam me ajudar?

Espero ter explicado de uma forma clara. Caso não tenha conseguido peço que testem esses scripts que vocês entenderão o que pedindo, ok?

Desde já agradeço a presteza!!!

Abraços! :rolleyes:

Editado por Palompas
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Pois é Fercosmig. O primeiro script que peguei foi esse que você me passou pelo link. Porém não é muito conveniente para o meu problema. Veja que eu tenho que disparar o evento "onkeypress="return bloqEnter(event)"" nos elementos em que quero bloquear. É justamente esse o problema. Alguns elementos são gerados no momento da execução, são dinâmicos.

No segundo código que coloquei eu não tenho nenhum evento no form. Isso sim, seria legal para a minha aplicação. O grande problema é que só funciona no Firefox.

Valeu pela dica! :D

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...