Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso que um campo aceite somente número, e inteiro ao digitar.
Eu tenho uma function que funciona. Porém, agora preciso criar o input dinamicamente (via Javascript, createElement e etc..). Aí a function parou de funcionar.
Vejam a function:
function checkNumPg(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
Antes, eu chamava essa function no evento keypress do text box.
... "onkeypress"="return checkNumPg(evt)"..
Agora, como preciso criar o campo dinamicamente, ficou assim:
var inpTxtSaltarPg = criaDOM({elem:'INPUT', alvo:dvSaltarPg})
inpTxtSaltarPg.setAttribute('type','TEXT');
inpTxtSaltarPg.classList.add('mini')
inpTxtSaltarPg.setAttribute('placeholder','000')
inpTxtSaltarPg.setAttribute('id','jump')
inpTxtSaltarPg.addEventListener('keypress', function(event) {
checkNumPg(event)
})
Mesmo chamando "return checkNumPg(event)" no momento de criar o campo pelo DOM, não funciona mais.
Podem me ajudar?Verifica se o contexto é interger
https://github.com/Spell-Master/sm-web/blob/master/javascript/jsd/js-default.js#L453
Porém o valor de um input é sempre string mesmo que sejam numeros, ou seja não passa pelo filtro da função.
Outra alternativa é remover o que não é um numero.
<script src="js-default.js" type="text/javascript"></script>
<div id="exemplo"></div>
<script>
var criar = jsd.create({
tagName: 'input',
type: 'text',
placeholder: '000',
id: 'jump',
classList: 'mini'
});
jsd('#exemplo').append(criar);
jsd(criar).keyup(function (e) {
this.value = this.value.replace(/\D/g, '');
});
</script>
>
Citar
Obs.: A biblioteca jsd do arquivo js-default.js apresenta simplificação nos meios de uso do javacript, essa biblioteca é de minha autoria mesmo visando agilizar processos de desenvolvimento.
Visivelmente se nota todos termos abordados pelo javascript convencional.
crie o input:number com step="1"
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number