Jump to content
Fórum Script Brasil
  • 0

Desativar Enter


Palompas
 Share

Question

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:

Edited by Palompas
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...