Code javascript en externe ne fonctionne pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Code javascript en externe ne fonctionne pas

par Stef » 26 janv. 2009, 17:11

hihi :)

ouais j'pense pas m'en servir sur d'autres pages, donc j'vais pas appeler cette fonction sur les pages où elle ne sert à rien...

par jojolapine » 26 janv. 2009, 16:37

Rooo ben c'est dommage,
c'est pas vraiment compliqué... :(

par Stef » 26 janv. 2009, 15:14

merci! :wink:

bon, ben j'crois que j'vais pas me prendre la tête, surtout que j'ai que 2 fichier où je l'utilise...

par jojolapine » 26 janv. 2009, 14:19

C'est parce que le dom n'est pas chargé lors de l'appel de ton fichier...
En général, on utilise le onload du body pour pallier à ceci

Code : Tout sélectionner

document.body.onload=function(){ //içi ta fonction };
Bon là je suis pas très sur du code, car je le fait de tête...
Si on veut éxécuter plusieurs évènements à la suite: http://simonwillison.net/2004/May/26/addLoadEvent/

Code javascript en externe ne fonctionne pas

par Stef » 26 janv. 2009, 13:25

Helloooohoho :D

J'utilise ce p'tit bout de shcript:

Code : Tout sélectionner

<script> function visibilite(thingId,txtAff,txtMasque) { var targetElement; var targetElementLink; targetElement = document.getElementById(thingId) ; targetElementLink = document.getElementById(thingId+'Link'); if (targetElement.style.display == "none") { targetElement.style.display = "" ; targetElementLink.innerHTML = txtMasque ; } else { targetElement.style.display = "none" ; targetElementLink.innerHTML = txtAff ; } } </script>
Donc, ça fait c'que j'veux quand je le mets dans la partie 'body' de mes pages, par contre j'ai essayé de le mettre dans un fichier externe:

toto.js

Code : Tout sélectionner

function visibilite(thingId,txtAff,txtMasque) { var targetElement; var targetElementLink; targetElement = document.getElementById(thingId) ; targetElementLink = document.getElementById(thingId+'Link'); if (targetElement.style.display == "none") { targetElement.style.display = "" ; targetElementLink.innerHTML = txtMasque ; } else { targetElement.style.display = "none" ; targetElementLink.innerHTML = txtAff ; } }
puis je l'ai invoqué comme ceci dans la partie 'head':

Code : Tout sélectionner

<script type="text/javascript" src="js/toto.js"></script>
Et là ça marche plus... j'aimerais bien comprendre pourquoi. si vous avez une explication, ça m'intéresse!