[javascript] instruction IF qui ne marche pas

Fermé
sid - 17 déc. 2010 à 09:57
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 - 17 déc. 2010 à 13:53
Bonjour,

je viens de tomber sur un problème que je n'arrive pas à résoudre...
Je travail sur le site de ma boutique et sur la page de sélection de paiement il y a un résumé du panier, le tout en ASP.

Le client a la possibilité te choisir le paiement en plusieurs fois en cliquant sur un bouton non présent dans un formulaire. En cliquant sur ce bouton un test est fait en javascript visant à vérifier que la somme est supérieure à 300.

dans un premier lieu je transfert ma variable ASP dans un champs masqué :

<input type="hidden" name="varASP" id="varASP" value="<%=STR_prix(montant)%>" />

voici le lien de mon bouton :

<a href="javascript:verif_pnf();">Plusieurs fois sans frais</a>

et mon code javascript :

function verif_pnf()
{
var test_pnf = document.getElementById('varASP').value;
var variable_pnf = 300;
if(test_pnf > variable_pnf) {
alert(test_pnf+' plus grand ' + variable_pnf);
} else {

alert(test_pnf+' plus petit ' + variable_pnf);

}
}


A l'essai le site me renvois à tout les coup sur alert(test_pnf+' plus petit ' + variable_pnf); meme si TEST_PNF est supperieur à VARIABLE_PNF

je ne comprends vraiment pas pourquoi...

avez vous une idée ??

merci pour votre aide

Sid
A voir également:

3 réponses

personne n'a de solutions ?
0
:-(
0
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
17 déc. 2010 à 13:53
Je pense que c'est un problème de typage.
test_pnf est un string parce qu'il est tiré d'une boîte de texte.
variable_pnf est un integer parce que tu l'as déclaré ainsi.
Donc la comparaison se fait mal, tu compares des lettres avec des chiffres.

Essaie :
var test_pnf = Number(document.getElementById('varASP').value);

et dis-moi si ça marche ! ;-)
0