Utiliser une variable d'une fonction dans une autre fonction.
Résolu/Fermé
henri
-
21 déc. 2020 à 16:06
jordane45 Messages postés 37262 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 mars 2023 - 21 déc. 2020 à 19:12
jordane45 Messages postés 37262 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 mars 2023 - 21 déc. 2020 à 19:12
A voir également:
- Utiliser une variable d'une fonction dans une autre fonction.
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Excel remplir une cellule en fonction d'une autre ✓ - Forum Excel
- Fonction si et - Guide
- Mise en forme conditionnelle en fonction d'une autre cellule ✓ - Forum Excel
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
2 réponses
jordane45
Messages postés
37262
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mars 2023
4 548
21 déc. 2020 à 16:53
21 déc. 2020 à 16:53
Voyez-vous d'où viens le problème?
A part le fait qu'il te faudrait apprendre les bases de la programmation en JS ? Non...
Sinon, en partant du principe que tu veux pouvoir accéder à ta variable name en dehors de ta fonction, il faut rendre sa portée "globale". Pour ça, on déclare la variable EN DEHORS des fonctions.
Comme ceci
var name=""; button.onclick = function obj(){ var obj = document.getElementById("obj"); name = prompt("tu as combiens d'objectifs?"); if (name==0){ alert("vous n'avez donc pas d'objectifs aujourd'hui? "); } if (name<=10){ alert(name+ ", c'est parfait!"); } else if (name>10){ alert("vous pouvez avoir que 10 objectifs quotients."); name = 10; } if (name==0){ obj1.style.display = "none"; obj2.style.display = "none"; obj3.style.display = "none"; obj4.style.display = "none"; obj5.style.display = "none"; obj6.style.display = "none"; obj7.style.display = "none"; obj8.style.display = "none"; obj9.style.display = "none"; obj10.style.display = "none"; obj.style.height="0px"; } return name; } function moy(){ var t = obj(); var imgP=""; var tf = getNbTf(); var p = 100*(tf/t); if (p>=0 && p<5){ imgP = "../images/cercleR0.png"; } else if (p>=5 && p<15){ imgP = "../images/cercleR10.png"; } else if (p>=15 && p<22.5){ imgP ="../images/cercleR20.png"; } else if (p>=22.5 && p<27.5){ imgP ="../images/cercleR25.png"; } else if (p>=27.5 && p<35){ imgP = "../images/cercleR30.png"; } else if (p>=35 && p<45){ imgP = "../images/cercleR40.png"; } else if (p>=45&& p<55){ imgP = "../images/cercleR50.png"; } else if (p>=55 && p<65){ imgP = "../images/cercleR60.png"; } else if (p>=65 && p<72.5){ imgP = "../images/cercleR70.png"; } else if (p>72.5 && p<=77.5){ imgP = "../images/cercleR75.png"; } else if (p>77.5 && p<=85){ imgP = "../images/cercleR80.png"; } else if (p>85 && p<=95){ imgP = "../images/cercleR90.png"; } else if (p>95 && p<=100){ imgP = "../images/cercleR100.png"; alert("Vous n'avez plus aucune tâche à accomplir aujourd'hui"); } //console.log('Moyenne :',p); document.getElementById("cercleR").src = imgP; alert(name); }
ah oui désoler je viens de débuter et je viens ici pour justement apprendre avec des personne de plus je n'avais pas mis la ligne juste au dessus mais la variable était déjà déclarer en dehors.Voici donc mon code.
let button = document.querySelector('button'); var name = 0; button.onclick = function obj(){ var obj = document.getElementById("obj"); name = prompt("tu as combiens d'objectifs?"); if (name==0){ alert("vous n'avez donc pas d'objectifs aujourd'hui? "); } if (name<=10){ alert(name+ ", c'est parfait!"); } else if (name>10){ alert("vous pouvez avoir que 10 objectifs quotients."); name = 10; } if (name==0){ obj1.style.display = "none"; obj2.style.display = "none"; obj3.style.display = "none"; obj4.style.display = "none"; obj5.style.display = "none"; obj6.style.display = "none"; obj7.style.display = "none"; obj8.style.display = "none"; obj9.style.display = "none"; obj10.style.display = "none"; obj.style.height="0px"; } return name; } function moy(){ var t = obj(); var imgP=""; var tf = getNbTf(); var p = 100*(tf/t); if (p>=0 && p<5){ imgP = "../images/cercleR0.png"; } else if (p>=5 && p<15){ imgP = "../images/cercleR10.png"; } else if (p>=15 && p<22.5){ imgP ="../images/cercleR20.png"; } else if (p>=22.5 && p<27.5){ imgP ="../images/cercleR25.png"; } else if (p>=27.5 && p<35){ imgP = "../images/cercleR30.png"; } else if (p>=35 && p<45){ imgP = "../images/cercleR40.png"; } else if (p>=45&& p<55){ imgP = "../images/cercleR50.png"; } else if (p>=55 && p<65){ imgP = "../images/cercleR60.png"; } else if (p>=65 && p<72.5){ imgP = "../images/cercleR70.png"; } else if (p>72.5 && p<=77.5){ imgP = "../images/cercleR75.png"; } else if (p>77.5 && p<=85){ imgP = "../images/cercleR80.png"; } else if (p>85 && p<=95){ imgP = "../images/cercleR90.png"; } else if (p>95 && p<=100){ imgP = "../images/cercleR100.png"; alert("Vous n'avez plus aucune tâche à accomplir aujourd'hui"); } //console.log('Moyenne :',p); document.getElementById("cercleR").src = imgP; alert(name); return name; }
jordane45
Messages postés
37262
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mars 2023
4 548
21 déc. 2020 à 19:12
21 déc. 2020 à 19:12
Le problème, c'est que tu redéclarais ta variable dans ta fonction
( let et var servent à initialiser des variables ... ( renseignes toi sur la portée des variables avec let et var ) )
Donc, là, avec le nouveau code, ça devrait fonctionner... ( à condition que ta fonction moy() soit appellée après le click sur ton autre bouton).
let name = prompt("tu as combiens d'objectifs?");
( let et var servent à initialiser des variables ... ( renseignes toi sur la portée des variables avec let et var ) )
Donc, là, avec le nouveau code, ça devrait fonctionner... ( à condition que ta fonction moy() soit appellée après le click sur ton autre bouton).