Poster une réponse 
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu][Javascript] document.getElementById('').onclick
Auteur Message
Raitosan Hors ligne
Membre

Messages : 84
Inscription : Jul 2008
Réputation : 0
Message : #1
[Résolu][Javascript] document.getElementById('').onclick
Bonjour, j' ai un problème avec le Javascript.

Voici ce qui ne fonctionne pas. le problème c' est que objet_place et nb sont des variables, donc je ne peut pas faire .onclick = menu(); et .onclick = function(){menu(event, objet_place, '0', nb);} ne marche pas non plus(j' ai chercher sur google...)

document.getElementById(objet_place).onclick = menu(event, objet_place, '0', nb);

j' ai fait cela, pour actualiser la variable "nb" qui se trouve dans la fonction. Parceque sinon la variable "nb" reste pareil et ne change pas le nombre...

Voila, en espérant que vous puissiez m' aider...
Merci d' avance.

Watashi wa Raitosan desu, Kira jaa nai!

Même un vert de terre peut battre un Tigre.
(Ce message a été modifié le : 08-23-2008 12:45 PM par Sephi-Chan.)
08-13-2008 05:25 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
oxman Hors ligne
Membre

Messages : 746
Inscription : May 2008
Réputation : 10
Message : #2
RE: Problème JS: document.getElementById('').onclick
C'est marrant ça au boulot un collègue avait exactement le même problème.
Je lui ai résolu en lui montrant qu'il pouvait très bien faire sans ses variables.

Déjà objet_place ne te sert à rien tu peux utiliser this, à quoi te sert event ?

Edit : Enfin non tu ne peux pas utiliser this tu es pas dans un Framework, enfin a quoi te servent ces variables ?
(Ce message a été modifié le : 08-13-2008 05:35 PM par oxman.)
08-13-2008 05:31 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Raitosan Hors ligne
Membre

Messages : 84
Inscription : Jul 2008
Réputation : 0
Message : #3
RE: Problème JS: document.getElementById('').onclick
a modifier l' affichage des divs, changer leurs fonds, et transmettre des données dans un fichier php

Watashi wa Raitosan desu, Kira jaa nai!

Même un vert de terre peut battre un Tigre.
08-13-2008 05:49 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
oxman Hors ligne
Membre

Messages : 746
Inscription : May 2008
Réputation : 10
Message : #4
RE: Problème JS: document.getElementById('').onclick
Donne ta fonction menu
08-13-2008 05:51 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Raitosan Hors ligne
Membre

Messages : 84
Inscription : Jul 2008
Réputation : 0
Message : #5
RE: Problème JS: document.getElementById('').onclick
function menu(event, objet_place, objet_type, nb)
{
var x = event.clientX;
var y = event.clientY;
document.getElementById('menu_choix').style.top = y;
document.getElementById('menu_choix').style.left = x;
if(objet_type != "")
{
document.getElementById('menu_choix').innerHTML = '<div id="menu_choix2" onclick="utiliser('+objet_place+')">Utiliser</div><div id="menu_jeter" onclick="jeter('+objet_place+', '+nb+', '+objet_type+')">Jeter</div><div id="menu_jeter" onclick="jeterTout('+objet_place+')">Jeter Tout</div>';
}
else
{
document.getElementById('menu_choix').innerHTML = '<div id="menu_choix2" onclick="equiper('+objet_place+', '+nb+')">Equiper</div><div id="menu_jeter" onclick="jeter('+objet_place+', '+nb+', '+objet_type+')">Jeter</div><div id="menu_jeter" onclick="jeterTout('+objet_place+')">Jeter Tout</div>';
}
document.getElementById('menu_choix').style.backgroundColor='#9f9fff';
document.getElementById('menu_choix').style.border='1px solid black';
}

Watashi wa Raitosan desu, Kira jaa nai!

Même un vert de terre peut battre un Tigre.
08-13-2008 05:52 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
oxman Hors ligne
Membre

Messages : 746
Inscription : May 2008
Réputation : 10
Message : #6
RE: Problème JS: document.getElementById('').onclick
Je n'ai pas l'impression que tu utilises la bonne méthode.
Tu devrais plutôt créer tous tes div et les cacher/montrer ensuite.
08-13-2008 05:56 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Raitosan Hors ligne
Membre

Messages : 84
Inscription : Jul 2008
Réputation : 0
Message : #7
RE: Problème JS: document.getElementById('').onclick
enfait, la fonction menu sert à affiche un menu quand on clique sur un objet(dans l' inventaire). Ce menu propose selon l' objet, d' utiliser, d' équiper, de jeter ou de tout jeter... c' est pour sa que sa doit être invisible, mais ce n' est pas le problème, cette fonction marche bien -_-, c' est juste le document.getElementById(objet_place).onclick = menu(event, objet_place, '0', nb);
voici la fonction qui a cet element:
function equiper(objet_place, nb)
{
efface_menu();
var xhr_object = null; // On crée déjà la variable xhr_object

if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}

xhr_object.open("GET", "equiper.php?objet_place="+objet_place+"", true); // On ouvre le script php en designant si on utilisera GET ou POST comme méthode, dans notre cas on va utiliser GET, ensuite on mets le chemin du script php, puis on dit si on veut utiliser l'asynchrone(true) ou le synchrone(false, qui signifie figer le temps de la requete qui risque de bloquer le visiteur) donc on vas prendre l'asynchrone donc on met true.

xhr_object.onreadystatechange = function() { // Si le readyState change alors on execute ce qui est en bas
if(xhr_object.readyState == 4 && xhr_object.status == 200) // Si le readyState vaut 4 ce qui veut dire que les données ont été transmise et si le Status vaut 200 ce qui signifie que le navigateur n'a aucun problème
{
if(xhr_object.responseText != '')
{
var message_recu = xhr_object.responseText;
var tab = message_recu.split(" ");

if(tab[0] == "boucle")
{
if(tab[3] == 1)
{
document.getElementById(''+objet_place+'').innerHTML = '';
document.getElementById(''+objet_place+'').style.backgroundImage = 'none';
document.getElementById(''+objet_place+'').onclick = '';

document.getElementById(''+tab[2]+'').style.backgroundImage = 'url('+tab[1]+'.png)';
}
else
{
nb--;
document.getElementById(''+objet_place+'').innerHTML = nb;
document.getElementById(''+tab[2]+'').style.backgroundImage = 'url('+tab[1]+'.png)';
document.getElementById(objet_place).onclick = menu(event, objet_place, '0', nb);
}
}
}
else
{
alert('Un équipement est deja équiper!');
}
}
}

xhr_object.send(null);
}

Watashi wa Raitosan desu, Kira jaa nai!

Même un vert de terre peut battre un Tigre.
08-13-2008 06:00 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
oxman Hors ligne
Membre

Messages : 746
Inscription : May 2008
Réputation : 10
Message : #8
RE: Problème JS: document.getElementById('').onclick
document.getElementById(objet_place).onclick = menu(event, objet_place, '0', nb);
Il est censé les trouver où tes variables ?
08-13-2008 06:05 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Raitosan Hors ligne
Membre

Messages : 84
Inscription : Jul 2008
Réputation : 0
Message : #9
RE: Problème JS: document.getElementById('').onclick
equiper(objet_place, nb)

event c' est pour récupérer les points x et y de la souris -_-

Watashi wa Raitosan desu, Kira jaa nai!

Même un vert de terre peut battre un Tigre.
08-13-2008 06:06 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
oxman Hors ligne
Membre

Messages : 746
Inscription : May 2008
Réputation : 10
Message : #10
RE: Problème JS: document.getElementById('').onclick
Ah oui pardon.
Il faut que tu accèdes globalement aux variables.
Ne pas les passer en arguments et les lire globalement.
08-13-2008 06:14 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Poster une réponse 



ContactJeuWeb (JeuPHP) - Crée ton jeu par navigateurRetourner en hautRetourner au contenuVersion bas-débit (Archivé)Syndication RSS