nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 2014
-
10 juil. 2008 à 09:10
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 2014
-
10 juil. 2008 à 15:54
Salut,
J'ai fait une fonction pour afficher les derniers messages et j'ai aussi mis dans cette fonction un évènement click sur un élément mais cette fonction me retourne une erreur et je ne vois pas d'ou ça peut venir et je ne comprend rien a l'erreur :-(
J'ai cette erreur dans la console d'erreur firefox et aussi dans firebug !
Ma fonction :
function aff_message() {
var O_nouveauxMessages = document.createElement('div');
O_nouveauxMessages.setAttribute('id','nouveaux_messages');
document.getElementById('conversation').appendChild(O_nouveauxMessages);
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 10 juil. 2008 à 12:26
salut nico,
comprend pas pourquoi tu crée un div pour le détruire immédiatement ?
mais bon... ce doit être un extrait de ce que tu fais
O_nouveauxMessages est une variable locale
donc uniquement utilisable dans la fonction aff_message
elle n'est donc pas connue dans les fonctions ajoutées sur onclick
( remarque : il me semble que tu te compliques drôlement la vie... )
nickadele
Messages postés1251Date d'inscriptionmercredi 7 août 2002StatutModérateurDernière intervention10 avril 2013 10 juil. 2008 à 14:03
J'ai pas trop bien compris le pourquoi du comment non plus !
Même remarque que bultez concernant O_nouveauxMessages :
if(document.all) {
document.getElementById('nb_message').attachEvent('onclick',function() {document.getElementById('conversation').removeChild('nouveaux_messages');});
} else {
document.getElementById('nb_message').addEventListener('click',function() {document.getElementById('conversation').removeChild('nouveaux_messages');},false);
}
Remarque concernant la première version :
Le fait qu'un objet ('nouveaux_messages')appel son parent pour s'auto supprimer ne va-t-il pas également générer une erreur !
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 10 juil. 2008 à 14:13
>>comment je fais alors ?
soit tu met la variable en global, soit tu la passes en paramètre.
>>Pourquoi dis tu que je me complique la vie ?
parce que tu utilises des "techniques" style des soit-disant "framework" ( enfin...
pour être juste, disons plutôt "bibliothèques de fonctions", ne soyons pas ridicules ! )
qui sont cencés répondre à tout, dans tous les cas...
là ce n'est pas toi qui développe ? tu ne sais ce que tu fais ?
exemples ?
>>attachEvent ou addEventListener ?
il existe déjà une fonction ?
>>if(document.getElementById('nouveaux_messages'))
bof.. tu viens de le créer
...etc...
si tu crée un "machin" tendance universelle... certes ( et encore !! ),
pour une application : tu te compliques inutilement la vie.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 10 juil. 2008 à 14:49
>>Mais j'ai pas bien compris l'histoire de la variable, je suis toujours dans la fonction,
ben non ! justement.... tu "seras" plus dans la fonction aff_message
lors du click !
c'est comme si tu avais sur la balise un onclick="fonction_1();"
dans fonction_1 tu ne saurais pas utiliser O_nouveauxMessages déclarée
dans la fonction aff_message. là c'est pareil.
<hr /> Cordialement Bul
function aff_message() {
var O_nouveauxMessages = document.createElement('div');
O_nouveauxMessages.setAttribute('id','nouveaux_messages');
document.getElementById('conversation').appendChild(O_nouveauxMessages);
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 10 juil. 2008 à 14:33
Re,
J'ai fais des recherches sur les variables glbal et j'ai vu d'anciennes discutions qui en parlais mais je ne suis pas sur que ce soit la même syntaxe...
ancienne syntaxe :
- façon 1 :
var variable = ...;
function fonction() {
var variable2 = ...;
var add = variable + variable2;
}
- façon 2 :
function fonction() {
window['variable'] = 'text';
}
Ces deux façon sont anciennent, n'y a t'il pas une nouvelle syntaxe ?
Si oui pouvez vous me la monter ?
Si non a quoi sert le mot clé 'global' en javascript ?
a++
Si la réponse vous convient, pensez : Réponse acceptée !