J'ai besoin de valider plusieurs champs de saisie pour les caractères non numériques. J'utilise également des alertes Bootstrap. J'ai donc le code ci-dessous. Il fonctionne bien la première fois que vous faites une erreur. Vous obtenez l'alerte BS. J'ai vérifié le contenu des deux variables qty et quantity et en effet, au deuxième passage du code, elles contiennent bien le mauvais caractère non numérique. Mais pour une raison quelconque, isNaN ne le voit pas. Qu'est-ce que je fais de mal ?
$(".product_table").on('change', '.edit_quantity',function (){
var qty = $(this).find('input').val();
var quantity = $(this).parents(':eq(1)').find('input').filter(".edit_quantity").val();
console.log('l 117', qty);
console.log('l 118', quantity);
if (isNaN(quantity||qty))
{
$("#char_error").show();
}
else
{
//more code goes here//
}
}
HTML :
<div id="char_error" class="alert alert-danger">
<strong>Error</strong> You have entered an illegal character in the quantity box, please enter a number.
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
De plus, je démarre mon fichier JS en cachant l'élément <div id="char_error">
Ce n'est pas non plus l'idéal si le contenu clignote puis disparaît.