JavaScript parseInt() problème débutant

Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 - 13 mars 2008 à 15:26
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 14 mars 2008 à 07:24
Bonjour à tous !

Voilà mon problème : Je veux que l'utilisateur entre un nombre entre 1 et 100. Et que par la suite une fenêtre apparaît le nombre de fois qu'à saisi l'utilisateur.





Mon code javascript :



    SaisieNombre=prompt("Entre un nombre entre 1 et 100","Saisi ton nombre ici");
            j = SaisieNombre + ParseInt(1);
            for(i=1;i<SaisieNombre;i++)
            {
                alert("Compte à rebours : " + j +" fois");
                j--;
            }

Je n'arrive pas à ajoute +1 à ma variable j . Même en parsant ça ne fonctionne pas. Pourquoi ?

Merci d'avance de votre aide. ++

18 réponses

maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
13 mars 2008 à 15:31
Juste un copié collé de la console d'erreur javascript de firefox

Erreur : ParseInt is not defined

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
13 mars 2008 à 15:40
Si j'enlève le ParseInt(), sa m'affichera ceci, si je saisi 5 par exemple :



Compte à rebours : 51
fois

Compte à rebours : 41
fois



... etc

Alors que je veux ce résultat :



Compte à rebours : 5
fois

Compte à rebours : 6

fois



... etc

(Je ne sais pas si je m'exprime bien)

Bon en tout j'attends votre aide avec impatience.
Merci à tous.
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
13 mars 2008 à 15:56
Essai :

j = (parseInt(SaisieNombre)+1);
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
13 mars 2008 à 15:57
L'operateur + en javascript et l'operateur de concatenation c'est à dire qu'au lieu de faire une addition il va "collé" les 2 parties ensemble. Voila pourquoi le 51.

Sinon il faut utiliser le parseInt() sur SaisieNombre et aussi declarer ses variables donc on a :
    var SaisieNombre= prompt("Entre un nombre entre 1 et 100","Saisi ton nombre ici");
            var j = 1+parseInt(SaisieNombre);
            for(i=1;i<SaisieNombre;i++)
            {
                alert("Compte à rebours : " + j +" fois");
                j--;
            }

D'autres petites explications?
<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
13 mars 2008 à 15:59
Mais il y a plus simple :

SaisieNombre=prompt("Entre un nombre entre 1 et 100","Saisi ton nombre ici");
            for(i=parseInt(SaisieNombre)+1;i!=0;i--)
            {
                alert("Compte à rebours : " + i +" fois");
            }
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
13 mars 2008 à 16:07
Merci XtremDuke et Maelob d'avoir répondu. Je comprend mieux la fonction parseInt() et je comprend aussi mon erreur.

XtremDuke c'est plus simple comme réponse, mais dans l'alert, i commencerais à 6 (si je saisi 5 par exemple).
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
13 mars 2008 à 16:13
En faite y'avais pas besoin de mettre +1, ni besoin de parseInt.





SaisieNombre=prompt(
"Entre un nombre entre 1 et 100"
,
"Saisi ton nombre ici"
);

            for(i=SaisieNombre;i!=0;i--)
            {
                alert("Compte à rebours : " + i +" fois");
            }

Je me suis embrouillée désolé.

++
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
13 mars 2008 à 16:15
>>Je me suis embrouillée désolé.

Ça arrive des fois ;-)

>>Merci XtremDuke et Maelob

De rien :-)

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 mars 2008 à 16:27
Bonjour,

    var SaisieNombre=prompt( "Entre un nombre entre 1 et 100" , "Saisi ton nombre ici" );
    for(i=1;i<=parseInt(SaisieNombre);i++)
    {
                alert("Compte à rebours : " + i +" fois sur " + SaisieNombre );
    }

    simplement pour ajouter, qu'une saise de "0", de "2569875"... ça passe
    que deire de saisir : "pour tester"
    plus rigolo ? saisir "09"   par exemple...

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
13 mars 2008 à 16:31
Oui il faudrait tester la saisie de l'utilisateur.
Mais ce n'est pas de mon niveau.
Donc je laisse l'utilisateur saisir <layer id="google-toolbar-hilite-0" style="background-color: Yellow; color: black;">intelligemment ! </layer>
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 mars 2008 à 16:38
houla.... attend toi à de nombreuses surprises...
( c'était essentiellement pour la saisie de "09" !
    car pour le reste je pensais bien (?) que tu étais conscient   )
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
13 mars 2008 à 16:42
Bonjour bul!!!

Il faut toujours se méfier d'un utilisateur car des fois on se demande si ils sont intelligent... (desolée ça m'a echappé...)

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
13 mars 2008 à 16:49
J'ai testé 09 car ça m'intriguée du coup. Et le truc c'est que sa écrit 09, et le compte à rebours fonctionne. Pas trop gênant.
Par contre si c'est du texte, ça plante. Je trouve que la c'est gênant par contre. Je chercherais ce week end pour gérer ça.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 mars 2008 à 16:57
essaye donc avec les exemples qui utilisent parseInt...
        ou alors : alert(parseInt("09"));   
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
maelob Messages postés 943 Date d'inscription mardi 14 novembre 2006 Statut Membre Dernière intervention 7 août 2009 3
13 mars 2008 à 16:59
isNaN() peut aussi t'être utile pour tester si l'argument passé est un nombre :-)

<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
0
Fo0Zie Messages postés 95 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 8 juin 2009 1
13 mars 2008 à 17:01
Ah ouais OK, ça prend que le 0, j'utilisais pas de parseInt donc c'est pour ça.
Mais merci de ta remarque, ça peut toujours me servir.
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
13 mars 2008 à 20:08
Bonjour à tous,
pour ne pas avoir le problème évoqué par theBultez il faut spécifier la base de conversion
alert( parseInt( "09"));
alert( parseInt( "09", 10));  // base decimale
;O)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
14 mars 2008 à 07:24
pour compléter le ,10 , base décimale,
si une valeur commence par 0, javascript considère que c'est de l'Octal
( ne me demander pas pouquoi !! 0x ok c'est de l'héxa... ),
donc au dessus de 7 ça ne lui plait pas trop.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Rejoignez-nous