nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 2014
-
28 mai 2008 à 19:20
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 2014
-
30 mai 2008 à 16:25
Salut,
Voila j'ai un problème de fonction, normalement, je charge ma fonction une fois que le DOM est construit avec attachEvent sous ie et addEventListener pour tout les autres navigateurs !
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Boite de dialogue</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="dialogue.js"></script>
</head>
bonjour
</html>
mais ça ne marche pas, j'ai une erreur comme quoi getElementById('boite') n'a pas de propriété...
l'erreur :
Erreur : document.getElementById("boite") has no properties
Fichier source : [file:///C:/Users/nicolas/Desktop/Mes%20Cr%C3%A9ations/boite_de_dialogue/dialogue.js file:///C:/Users/nicolas/Desktop/Mes%20Cr%C3%A9ations/boite_de_dialogue/dialogue.js]
Ligne : 2
Merci d'avance !
a++
Si la réponse vous convient, pensez : Réponse accepté !
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 30 mai 2008 à 14:36
Bonjour,
il te faut plutôt affecter la fonction
sur window et non document if( window.attachEvent) {
window.attachEvent("onload", init);
}
else {
window.addEventListener("load", init, false);
}
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 29 mai 2008 à 11:12
Bonjour,
Anthed entièrement d'accord avec toi, sauf que l'on a pas le contexte global...
Il
reste intéréssant de noter les 2 façons d'affecter les fonctions sur à
événement,
par affectation directe
()">
ou par adresse et dans ce dernier
cas il ne faut pas mettre les parenthéses...
document.addEventListener("load", griserInterface,
false);
;O)
Anthed
Messages postés152Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention17 janvier 20143 29 mai 2008 à 17:06
nicomilville, quand tu dis que tu sépares ton code javascript, cela signifie-t-il que l'externalise dans un fichier js ? Si tel est le cas (effectivement c'est plus propre), je ne vois pas en quoi ma solution ne satisfait pas cette façon de faire.
Je ne joue pas au susceptible, je n'essaie pas de faire l'apologie de ma solution (toujours être AWARE ... :) ), c'est juste de la curiosité.
Merci. A+.
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 29 mai 2008 à 17:31
To nicomilville <table bgcolor="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, ça ne change rien, a part que j'ai une autre
erreur</td>
</td></tr></tbody></table>donc ça
change...
L'erreur, la nouvelle peut être, est ailleurs...
To TheBultez, je ne suis pas fan des fonctions anonymes
qui pêchent par leur manque de lisibilté, pas toujours il est vrai, et pour passer des
paramètres il y a toujours possibilité d'avoir recours à une fonction tampon.
To Anthed, il est vrai que quand je
passe par un fichier JS externe, j'utilise les addEventListener et consor et que
lorsque j'intégre le script dans la page je mets directement sur la balise, la
meilleur ??? perso pas de bille pour répondre.
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 29 mai 2008 à 18:39
Je n'ai plus aucune erreur mais mon code ne m'affiche toujours rien !
code :
function init() {
var div = document.createElement('div');
div.setAttribute('id', 'boite');
var conteneur = document.getElementByTagName('body');
div.appendChild(conteneur);
griserInterface();
}