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

Efeito onkeypress com objeto literal


Ricardo in live

Pergunta

Ola amigos, estou com o seguinte problema, estou construindo uma aplicação e preciso validar os campos CEP, RG, CPF etc.

Só que eu não quero colocar na tag input o comando onkeypress="return funcao(this, event)", então estou usando a tecnica de objeto literal com javascript e, quero saber como eu crio um evento onkeypress utilizando a tecnica de objeto literal?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Salve,

O que seria isso ? :huh:

tecnica de objeto literal?

Eu, particularmente, faria da seguinte forma:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Documento sem t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
    <form method="post" action="">
        <input type="text" name="rg" id="rg">
    </form>
    <script type="text/javascript">
    <!--
    window.onload = function(){
        rg = document.getElementById("rg");
        rg.onkeypress = function(){
            alert("disparar funcao");
        }
    };
    //-->
    </script>
</body>
</html>

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
<script type = "text/javascript'>
    document.getElementById(id).onkeypress = function() {
        // suponha que o teste seja esse!
        return this.value == "12345678900";
    }
</script>

Editado por SAULO A.
Link para o comentário
Compartilhar em outros sites

  • 0

Cara eu no seu lugar usaria uma bibloteca de javascript. particularmente prefiro jquery. dai voce pode dar um bind no elemento, exemplo:

$(document).ready(function(){

$('#id_do_elemento').bind('keypress',function(e){

//modificando o texto do elemento.

$(this).text('Texto novo do campo.');

// $(this) é o proprio elemento. porem as vezes você manipula varios eventos e o $(this) pode mudar assim como no javascript.

// então você pode atribuir o this a uma variavel

var obj = $(e.target); // $(this) e $(e.target) são a mesma coisa.

alert($(obj).text());

});

});

Caso não queira usar jquery ou outra biblioteca qualquer. você pode fazer no onLoad algo assim

//mozilla

document.getElementById('id').addEventListiner('keypress',function(e){

e.target.innerText = "Texto novo do campo.";

},false); //false é quando você quer que ele pare a sequencia de eventos

//Microsoft

document.getElementById('id').attachEvent('keypress',function(){

window.event.target.innerText = "Texto novo do campo.";

});

//Ou Assim

document.getElementById('id').addEventListiner('keypress',meuEvento()); //mozilla

document.getElementById('id').attachEvent('keypress',meuEvento(e)); //IE

function meuEvento(e)

{

if(!e) e = window.event;

e.target.innerText = "Texto novo do campo.";

}

Referencias

Para testar o browser

Refencia sobre eventos

Documentação .bind com exemplo. melhor opção por que é crossbrowser e não precisa ficar testando :rolleyes:

Editado por iceoz
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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...