11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Alors ce que je veux faire est tres simple je crois mais je n'y arrive pas


var sallon=1;



ensuite ce que je veux faire, c'est de pouvoir changer la valeur de sallon en cliquant sur un lien
du style <a onclick="sallon=2">sallon 2</a>

j'ai plusieurs fonction qui utilise la valeur de "sallon" dans mon code javascript
tout est ok, mais je desire changer la variable a la volé comme j'ai indiquer
quand je vais cliquer sur sallon=2, la valeur de sallon doit passer de 1 à 2

merci de m'aider
Rien de plus simple, en effet. Il te suffit de lier ce code à l'événement onclick de ton lien :
sallon++

A noter qu'il faut que ta variable soit globale pour que le lien puisse y accéder ; mais j'imagine que c'est déjà le cas si tu l'utilises dans plusieurs fonctions.
Modifié par phpdoesnotcare (03 May 2010 - 02:18)
merci, mais ça ne fonctionne pas
en fait de plus je souhaite envoyer une valeur qui puisse etre sallon=1 ou sallon=2 ou sallon=3
en fait c'est pour changer le sallon d'un chat en cliquant sur un lien

Je peux le faire en rechargeant la page et en envoyant la valeur dans l'url , mais je vaux le faire en javascript

Merci encore de m'aider
En fait, je crois que tu devrais créer une fonction pour changer la valeur de ta variable "sallon".

Le plus simple serait d'utiliser une fonction globale que tu utiliseras selon la valeur envoyé par ton lien.

function change_sallon(a){
  contenu de ta fonction ici (structure switch probablement)
}


Et dans ton code html,


<a onclick="javascript:change_sallon(1);">sallon 2</a>


Et tu change la valeur dans ta parenthèse selon le salon à afficher.

(Cela dit! Je commence à apprendre le javascript! Mais ça me semble la solution la plus logique.)
Le morceau de code que je t'ai donné à été testé, et il marche. C'est sans doute que ta variable ne peut pas être atteinte par le lien. Donc soit tu en fais une variable globale, soit tu passes par une fonction comme le suggères Vaxilart.
Bonjour,
Merci encore à vous deux, mais ça ne marche pas

Alors je donne un exemple concret, en fait la structure concrete:




var sallon=1;

foncontion un {
dans cette fonction j'utilise la valeur de sallon
}


foncontion deux {
dans cette fonction j'utilise la valeur de sallon
}

foncontion trois {
dans cette fonction j'utilise la valeur de sallon
}



En fait, j'utilise la valeur de sallon dans mes 3 fronctions

je voudrais modifier cette valeur en cliquant sur un lien du genre:


<a onclick="sallon=2"> Aller au sallon 2</a>

ou
 <a onclick="sallon=3"> Aller au sallon 3</a>


Merci encore pour votre aide
Modifié par tidave971 (03 May 2010 - 14:57)
On est bien d'accord : tu empêches le rafraîchissement de le page à chaque fois qu'un lien est cliqué, hein ? Sinon, forcément, le code javascript est relu depuis le début, et la variable est réinitialisée.
Ca dépend vraiment de ce que tu cherches à faire. Si des liens qui te permettent de naviguer d'un salon à un autre de manière "classique" (comme une page web ordinaire quoi : on clique sur un lien et ça charge la page demandée) tu pourras revoir ta façon de coder, et passer plutôt par du code côté serveur et utiliser un système de sessions, par exemple.
Si vraiment tu veux que l'utilisateur reste sur la même page sans la rafraîchir (càd sans qu'une nouvelle requête soit envoyée au serveur web), et n'utiliser que du javascript alors c'est à toi d'empêcher que le fait de cliquer sur un lien entraîne une requête au serveur web (qui est le comportement par défaut), grâce à la fonction preventDefault(), ou un return false;. Bon, évidemment, si tu souhaites vraiment utiliser cette solution ce sera un poil plus compliqué puisque tu devras en fait passer par de l'AJAX pour communiquer avec le serveur, mais je te laisse te débrouiller pour apprendre comment utiliser ça : Google regorge de ce genre de tutos. Smiley cligne

A la limite, j'ai envie de dire : si vraiment tu veux plus d'aide, commence par nous en dire plus sur ce que tu cherches à faire.
Modifié par phpdoesnotcare (03 May 2010 - 15:31)
SAlut a tous
mon probleme est résolu

ce que je fais, quand je clique sur le line, je crée un cookies qui s'appelle "sallon", avec comme valeur le nom du sallon appelé.

Ensuite, je lis la valeur du cookie dans ma function qui est rafraichit,

Voilà!
Merci pour votre aide