1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Dúvida numa linha em javascipt

Discussão em 'Web Development' iniciada por lanr, 16 de Junho de 2008. (Respostas: 3; Visualizações: 574)

  1. lanr

    lanr Power Member

    Bom dia =)
    Ando a fazer um trabalho para a cadeira de Aplicações WEB e surgiu-me uma dúvida.
    Encontrei este código para validar um campo, obrigando o utilizador a introduzir apenas números
    Código:
    function isNumber(evt)
    {
        var charCode = (evt.which) ? evt.which : event.keyCode
        if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;
    
        return true;
    }
    
    A minha dúvida é: o que é que faz realmente esta linha?
    Código:
    var charCode = (evt.which) ? evt.which : event.keyCode
    Percebo que é para gravar o código da tecla que foi pressionada mas não percebo o que faz passo-a-passo. Será que alguém me poderia explicar?

    Cumprimentos
     
  2. lanr

    lanr Power Member

    RESOLVIDO:

    Passei a usar este código que assim percebo melhor
    Código:
    function isNumber(evt)
    {
        var nbr=event.keyCode;
        if ((nbr==45) || (nbr>=48 && nbr<=57))
            return true;
    
        return false;
    }
    Assim já não me lixo na defesa do trabalho xD

    Obrigado
     
  3. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Código:
    x = (condição) ? valor1 : valor2
    é equivalente a
    Código:
    if(condição)
        x = valor1
    else
        x = valor2
    pelo que
    Código:
    var charCode = (evt.which) ? evt.which : event.keyCode
    é algo como
    Código:
    var charCode
    if(evt.which) 
        charCode = evt.which 
    else
        charCode = event.keyCode
    
     
  4. MPalhas

    MPalhas Power Member

    isso não se faria com um simples isNaN()?
     

Partilhar esta Página