Cette ligne
iattn=$('#ATTN').val();
Renvoie une chaîne.
Si vous voulez voir si elle peut être convertie en un entier, alors ce que vous voulez est ceci:
iattn=parseInt($('#ATTN').val());
if (iattn) {
alert("oh");
}
Utilisez parseFloat
plutôt que parseInt
si vous voulez un test de nombre plus général.
Si vous voulez vérifier que le résultat de l'analyse syntaxique correspond à l'entrée, utilisez quelque chose comme ceci:
iattn=$('#ATTN').val();
if (iattn == parseInt(iattn)) {
alert("oh");
}
Une vérification plus simple, qui convertira pas réellement quoi que ce soit à un certain nombre, et permettra à tous les numéro formats (par exemple 2.3, 0x3, +23) est la suivante:
if (!isNaN(iattn)) {
alert("oh");
}
Crédit à @pswg d'un commentaire.
Avez-vous ouvert votre débogueur et vu ce que «typeof iattn» est exactement? – arjabbar
On dirait que 'typeof iattn' serait une chaîne si vous l'avez obtenu à partir d'un texte de type d'entrée. –
$ ('# ATTN'). Val() - chaîne de retour, pas de numéro. –