IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

JS annulant par erreur l'exécution d'un autre JS


Sujet :

JavaScript

  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut JS annulant par erreur l'exécution d'un autre JS
    Bonjour,

    Je viens de rajouter un javascript dans mon formulaire qui par erreur, annule l'exécution d'un autre javascript.

    FireBug ne décèle aucune anomalie.

    Les "function" ne porte pas le même nom.

    Que dois-je chercher ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Si les conditions dans tes fonctions sont bien vérifiées pour l'exécution de la suite de ton script par exemple.

    Sans d'autres éléments on ne peut pas t'aider plus que ça.

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Prise séparémment les 2 JS fontionnement très bien, dès que je les mets ensemble dans un formulaire, le 1er ne fonctionne plus..

    Voici le 1er :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    gk=window.Event?1:0; // navigateurs Gecko ou IE
    D=document;popup=encours=0
     
    function ctrl(e)
    {
    de=!D.documentElement.clientWidth?D.body:D.documentElement // IE6
    sx=gk?pageXOffset:de.scrollLeft //scroll h
    sy=gk?pageYOffset:de.scrollTop //scroll v
    x=gk?e.pageX:event.clientX+sx; //curseur x
    y=gk?e.pageY:event.clientY+sy; //curseur y
    el=gk?e.target:event.srcElement;
    if(!el.tagName)el=el.parentNode; // noeud #text
    if(el.className == 'pop')
      {
      popup = D.getElementById(el.href.substring(el.href.lastIndexOf('#') + 1)).style; 
      if(popup!=encours) // seulement si changement  
        {
        encours.display='none';
        with(popup){display="block";left=x+'px';top=y+10+'px';}
        encours=popup;
        }
      } else {encours.display='none';encours=0}
    }
     
    D.onmousemove=ctrl
    Voici le 2ème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    var IB=new Object;
    var posX=0;posY=0;
    var xOffset=10;yOffset=10;
    function AffBulle(texte) {
      contenu="<TABLE border=0 cellspacing=0 cellpadding="+IB.NbPixel+"><TR bgcolor='"+IB.ColContour+"'><TD><TABLE border=0 cellpadding=2 cellspacing=0 bgcolor='"+IB.ColFond+"'><TR><TD><FONT size='-1' face='arial' color='"+IB.ColTexte+"'>"+texte+"</FONT></TD></TR></TABLE></TD></TR></TABLE>&nbsp;";
      var finalPosX=posX-xOffset;
      if (finalPosX<0) finalPosX=0;
      if (document.layers) {
        document.layers["bulle"].document.write(contenu);
        document.layers["bulle"].document.close();
        document.layers["bulle"].top=posY+yOffset;
        document.layers["bulle"].left=finalPosX;
        document.layers["bulle"].visibility="show";}
      if (document.all) {
        //var f=window.event;
        //doc=document.body.scrollTop;
        bulle.innerHTML=contenu;
        document.all["bulle"].style.top=posY+yOffset;
        document.all["bulle"].style.left=finalPosX;//f.x-xOffset;
        document.all["bulle"].style.visibility="visible";
      }
      //modif CL 09/2001 - NS6 : celui-ci ne supporte plus document.layers mais document.getElementById
      else if (document.getElementById) {
        document.getElementById("bulle").innerHTML=contenu;
        document.getElementById("bulle").style.top=posY+yOffset;
        document.getElementById("bulle").style.left=finalPosX;
        document.getElementById("bulle").style.visibility="visible";
      }
    }
    function getMousePos(e) {
      if (document.all) {
      posX=event.x+document.body.scrollLeft; //modifs CL 09/2001 - IE : regrouper l'?v?nement
      posY=event.y+document.body.scrollTop;
      }
      else {
      posX=e.pageX; //modifs CL 09/2001 - NS6 : celui-ci ne supporte pas e.x et e.y
      posY=e.pageY; 
      }
    }
    function HideBulle() {
    	if (document.layers) {document.layers["bulle"].visibility="hide";}
    	if (document.all) {document.all["bulle"].style.visibility="hidden";}
    	else if (document.getElementById){document.getElementById("bulle").style.visibility="hidden";}
    }
     
    function InitBulle(ColTexte,ColFond,ColContour,NbPixel) {
    	IB.ColTexte=ColTexte;IB.ColFond=ColFond;IB.ColContour=ColContour;IB.NbPixel=NbPixel;
    	if (document.layers) {
    		window.captureEvents(Event.MOUSEMOVE);window.onMouseMove=getMousePos;
    		document.write("<LAYER name='bulle' top=0 left=0 visibility='hide'></LAYER>");
    	}
    	if (document.all) {
    		document.write("<DIV id='bulle' style='position:absolute;top:0;left:0;visibility:hidden'></DIV>");
    		document.onmousemove=getMousePos;
    	}
    	//modif CL 09/2001 - NS6 : celui-ci ne supporte plus document.layers mais document.getElementById
    	else if (document.getElementById) {
    	        document.onmousemove=getMousePos;
    	        document.write("<DIV id='bulle' style='position:absolute;top:0;left:0;visibility:hidden'></DIV>");
    	}
     
    }
    Chaque script est totalement indépendant l'un de l'autre.

  4. #4
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Bon ça fait longtemps que j'avais mis ce problème de coté, mais maintenant il faut que je trouve la solution.

    Bon, en fait j'utilise dans les 2 scripts "onmousemove" ce qui fait qu'il ne sait pas quelle fanêtre ouvrir peut-être ?

    Comment faire dans ce cas et par quoi remplacer éventuellement "onmousemove" ?

    Merci d'avance

  5. #5
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    un simple appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function getMousePos(e) {
    ctrl(e);
    ...
    devrait suffit

  6. #6
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Merci Matthieu2000

    Dans mon 1er script tu remplaces

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function getMousePos(e) {
    ctrl(e);
    Mais comment se fait l'appel de la fonction getMousePos ?

  7. #7
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    script 1 tu enlève le code
    D.onmousemove=ctrl

    script 2 l'appel est dans function InitBulle

  8. #8
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Merci Matthieu, c'est bon pour moi maintenant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur d'exécution 1004. Erreur définie par l'application ou par l'object
    Par Quentin15 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/06/2011, 20h59
  2. Erreur d'exécution du code généré par Netbeans
    Par Tsimplice dans le forum NetBeans
    Réponses: 0
    Dernier message: 09/07/2010, 21h56
  3. Réponses: 24
    Dernier message: 13/01/2010, 11h44
  4. Réponses: 2
    Dernier message: 05/09/2008, 10h52
  5. Réponses: 5
    Dernier message: 04/01/2008, 09h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo