Changement de variable par bouton en html
Je suis en train d'apprendre le javascript et j'ai décidé de créer simple Roche, Papier, Ciseaux jeu. Je veux le rendre contrôlable par des boutons. J'ai donc fait cette dans le html:
<div id="game">
<button onClick="user(rock)">Rock</button>
<button onClick="user(paper)">Paper</button>
<button onClick="user(scissors)">Scissors</button>
<div id="result"></div>
<br>
<br>
<button onClick="test()">DEBUG</button>
</div>
et ce dans .fichier js.
var user = "none";
function user(choice){
var user = choice;
}
function test(click){
alert("You chose " + user);
}
Alors j'ai pensé qu'après que j'ai cliqué touche Rock il va changer var utilisateur de la roche, mais il ne le fait pas. Après je clique sur le rocher et puis bouton Debug-je obtenir "Vous avez choisi le néant".
OriginalL'auteur Kyrbi | 2013-03-16
Vous devez vous connecter pour publier un commentaire.
et
OriginalL'auteur llvk
var
est utilisé pour déclarer une variable. Vous n'avez pas besoin de déclareruser
variable de nouveau dansuser
fonction. Vous avez juste besoin d'assigner une valeur déclarée.OriginalL'auteur Can Geliş
Un problème:
Une variable utilisateur est en masquant les autres variables de l'utilisateur.
Et ayant une fonction et de variable avec le même nom est une MAUVAISE idée.
OriginalL'auteur Steve Wellens
La
var
mot-clé utilisé dans le champ d'application d'une fonction qui permet de déclarer une nouvelle variable locale.Par conséquent, dans le contexte global,
user
conserve la valeur"none"
.OriginalL'auteur Johannes Pille
Peut-être essayer un.. plus propre balisage.. utilise jQuery
http://jsfiddle.net/rQDbe/
bon à savoir 🙂 vous devriez apprendre le JavaScript avant d'utiliser une bibliothèque.
OriginalL'auteur Lucky Soni
Semble être un problème de délimitation de l'étendue. Essayez de supprimer le var à l'intérieur de la fonction.
OriginalL'auteur Anthony
Autres réponses sont la correction de certains problèmes. Il y a aussi un problème avec la façon dont vous êtes en appelant les fonctions que vous êtes en passant
rock
comme une variable, vous devez utiliser une chaîne de caractères:Sauf si vous êtes déclarer les variables quelque part, mais il n'est pas indiqué dans votre code.
<button onClick="user("rock")">Rock</button> <button onClick="user("paper")">Paper</button> <button onClick="user("scissors")">Scissors</button>
N'utilisez pas de guillemets doubles pour la chaîne dans les attributs ou cela ne fonctionnera pas
Ahh c'était le problème. Merci!!!!
OriginalL'auteur romainberger
Les sélections doivent être enfermé dans les citations, javascript est à la recherche pour les variables nommées papier etc.
OriginalL'auteur suspectus