Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DiogoJefferson

Como verificar tipo de valor inserido no input?

Recommended Posts

Olá,

Preciso fazer uma verificação sobre o tipo (string, numérico etc) do valor informado no input, pois estou fazendo uma validação.

Fiz da seguinte forma:

 

HTML:

 

Memoria <input type="number" id="campo_memoria" />

 

SCRIPT:

 

alert(typeof($('#campo_memoria').value));

 

Entretanto, o retorno é "undefined".

 

Poderiam me explicar o porque disso e como conseguir alcançar meu objetivo?

 

Valeu! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

se vc tá usando jQuery, então é .val()

 

alert(typeof $('#campo_memoria').val() );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato, e sempre vai ser string.

Por que vc acha que precisa testar o tipo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque esse valor faz referência à um campo do tipo inteiro no banco de dados. Nesse campo fica registrado o valor da memória RAM de cada computador no meu sistema de agenda de backups. Daí optei por fazer uma validação para o caso de o usuário informar um algo do tipo: "teste". Que por consequência, não será registrador no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é muito eficiente.. em vez disso, coloque uma máscara que impossibilite ele de digitar letras.

Terá uma UX muito melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A unica forma de fazer isso que conheço é tentar converter o valor para os tipos existentes, exemplo:

 

 

if (val == parseFloat(val))
    console.log('É float');
else if (val == parseInt(val))
    console.log('É int');
else
    console.log('É string');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Diogo tudo bem ?

 

Faça como o William disse; Você pode fazer com que o usuário digite apenas números.

 

Tem um site aqui que vai ter ajudar a fazer ou a ter uma base de como vai ser.

http://dilbertorosa.com/desenvolvimento/como-permitir-apenas-digitar-numeros-em-um-campo-de-texto-com-jquery-e-facil

 

No php tem is_numeric e o is_int, mas não sei se vai te ajudar no que você precisa. Acho que a melhor saida é bloquear letras e depois passar aquela string pra int.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado a todos que ajudaram. Procurei fazer o que vocês orientaram, e resolvi o problema bloqueando as teclas a partir de seus códigos. Para o campo desejado, é disponível apenas o teclado numérico e as teclas TAB, ENTER e outras irrelevantes .

 

Segue o script:

 

$('#campo_memoria').bind('keydown',function(event){
if((event.which < 96 || event.which > 105) && event.which != 144 && event.which != 13 && event.which != 8 && event.which != 9 && event.which != 17){
return false;
}
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.