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

(Resolvido) colocando a função do tab tb no enter


Notax

Pergunta

Pessoal, bom dia....

se alguém puder me ajudar tenho algumas dúvidas...

uso aqui uma função da Andreia SP que é assim:

<script>
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}

function blokletras(caracter) {
var tecla;

if(window.event) // Internet Explorer
  tecla = event.keyCode;

else // Firefox
   tecla = caracter.which;


if(tecla == 13)
  return false;

else return true;
}

no input eu coloco assim:

onkeypress="return blokletras(event)"

</script>

beleza... essa função bloqueia o enter...

dúvida 1) o problema é que eu tenho que colocar onkeypress="return blokletras(event)" em todos os inputs... não teria como chamar essa função de uma forma mais geral... tipo, quando a página for carregada automaticamente já bloquear a tecla enter?

dúvida 2) Como eu faria para ao invés de simplesmente bloquear a tecla enter aparecesse tb um alerta dizendo que a tecla não pode ser usada?

duvida 3) eu tenho como ao carregar a página substituir a "função" da tecla enter... tipo... colocar nela a mesma função que tem a tecla tab?

valeu pela força.

Notax

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

9 respostass a esta questão

Posts Recomendados

  • 0

Vamos la....

dúvida 1) o problema é que eu tenho que colocar onkeypress="return blokletras(event)" em todos os inputs... não teria como chamar essa função de uma forma mais geral... tipo, quando a página for carregada automaticamente já bloquear a tecla enter?
Bom não conheço, a não ser que você faça uma função (q é executada no onload) que crie esses campos automaticamente já com a função de bloqueio.

dúvida 2) Como eu faria para ao invés de simplesmente bloquear a tecla enter aparecesse tb um alerta dizendo que a tecla não pode ser usada?

if(tecla == 13)
{
  alert("A tecla enter é bloqueada");
  return false;
}

duvida 3) eu tenho como ao carregar a página substituir a "função" da tecla enter... tipo... colocar nela a mesma função que tem a tecla tab?

não entendi sua duvida

Link para o comentário
Compartilhar em outros sites

  • 0

duvida 3) eu tenho como ao carregar a página substituir a "função" da tecla enter... tipo... colocar nela a mesma função que tem a tecla tab?

não entendi sua duvida

Sobre esta questão, que faço coro com a Andreia não entendi diereito, você poderia criar a função para bolquear as teclas mas receber como parâmtro a tecla que deseja bloquear.

<script>
     function bloq(tecla){

     }
</cript>

<input id="campo" onkeypress="bloq(qual tecla a ser bloqueada)"

Pode passar inclusive uma lista de teclas a serem bloqueadas.

Link para o comentário
Compartilhar em outros sites

  • 0

Grande Andreia, tudo beleza? E daí jothaz, tranquilo?

Sortudo é o cara que pudesse contratar a Andréia hein?!? Ninja! sabe muito!

Então... muito obrigado pelo retorno... é que eu tenho um form que tem mais de 100 inputs... ficou grande pra caramba... e tipo se o bagual do usuario aperta enter submete o form antes de estar completo, sacaram?

Por isso eu queria tentar um jeito mais facinho assim de bloquear o enter sem ter que ser de um em um input chamar a function... mas ta beleza... vamos lá! no braçal mesmo!

Quanto a terceira dúvida eu gostaria de explicar melhor... é que eu pensei em ao invés de bloquear o enter, tentar fazer com que o enter atuasse como TAB, tipo, ao ser pressionado ir para o input seguinte e assim por diante...

O importante mesmo pra mim é que o form só pudesse ser submetido se o botão fosse clicado... e não fosse possível submeter com o enter...

Depois dessa explicação, será que vocês conhecem um jeitinho mais facinho de fazer isso? meio que fiquei com preguiça de encara estes cento e cacetadas de inputs... grande pacas...

valeu a força...

[]'s Notax

E aí pessoal, só no braço mesmo... configurar essa penca de inputs ou tem um jeitinho mais fácil?

[]'s Notax

Link para o comentário
Compartilhar em outros sites

  • 0

Sortudo é o cara que pudesse contratar a Andréia hein?!? Ninja! sabe muito!

shauhsuah depois te passo o telefone da minha gerente pra você falar isso, quem sabe ela da uma aumento de salario ^^

então, eu não conheço uma forma de adicionar evento ao documento, acho que tem como melhorar. Vou pesquisar se achar alguma coisa te falo

Link para o comentário
Compartilhar em outros sites

  • 0
Grande Andreia, tudo beleza? E daí jothaz, tranquilo?

Sortudo é o cara que pudesse contratar a Andréia hein?!? Ninja! sabe muito!

[]'s Notax

E além disso é gente muito boa!!! :lol:

Sortudo é o cara que pudesse contratar a Andréia hein?!? Ninja! sabe muito!

shauhsuah depois te passo o telefone da minha gerente pra você falar isso, quem sabe ela da uma aumento de salario ^^

então, eu não conheço uma forma de adicionar evento ao documento, acho que tem como melhorar. Vou pesquisar se achar alguma coisa te falo

Faço coro com a andreia_sp tb desconheço mas isso não quer dizer que não seja possivel.

você já pensou em dividir o cadastro dos campos por passos tipo:

Passo 1 - cadastra 20 input´s

Passo 2 - cadastra mais 20 input´s

Talvez assim fique mais fácil gerenciar o cadastro. Mas é só uma elocubração.

Talvez a super jedi andreia_sp possa sugerir algo mais elegante.

Link para o comentário
Compartilhar em outros sites

  • 0

Fala pessoal, beleza?

Jothaz, masi elegante do que:

Mas é só uma elocubração.

A Jedi Andréia que me desculpe... mas é impossível ser mais elegante do que isso? rssssssss...

desculpem a demora em responder... tive que dar uma viajadinha... mas já estou de volto e na ativa!

Andréia, não entendi... ali com imagem você quis dizer tipo uma figura? um botão qualquer?

Mas podes me explicar qual é a diferença e como faria isso?

valeu a força...

[]'s Notax

Link para o comentário
Compartilhar em outros sites

  • 0

Teste ae:

<form action="default.asp" method="post" name="frm">
                <table>
                    <tr>
                        <td>Campo 1</td>
                        <td><input type="text" name="campo1"></td>
                        <td>Campo 2</td>
                        <td><input type="text" name="campo2"></td>
                        <td><input type="button" name="Submit" value="Entrar" onclick="Enviar();"></td>
                    </tr>
                </table>
            </form>
            
            
            <script>
            function Enviar()
            {
                document.frm.submit();
            }
            </script>

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...