begin process at 2012 05 29 03:37:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Problème de compatibilité

 > 

Erreur sous IE mais pas sous Firefox... help


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur sous IE mais pas sous Firefox... help

mercredi 15 août 2007 à 01:02:34 | Erreur sous IE mais pas sous Firefox... help

zut69

Bonsoir (ou bonne nuit),

J'ai une erreur dans un de mes codes et je n'arrive pas à la trouver.
Firefox m'exécute tout correctement, mais IE me met erreur à la ligne 43 et 47
ce qui correspond à:
43:   document.GetElementById(ID).innerHTML = Content;
47:   document.all[ID].innerHTML = Content;

le code:

   var ns4 = document.layers;           //NS 4
   var ie4 = document.all;              //IE 4
   var dom = document.GetElementById;   //NS 6 ou IE 5

   function setDiv(ID,Content) {
      if (dom) {
         document.GetElementById(ID).innerHTML = Content;
         return;
      }
      if (ie4) {
          document.all[ID].innerHTML = Content;
         return;
      }
      if (ns4) {
          with (eval('document.'+ID+'.document')) {
             open();
             write(Content);
             close();
         }
         return;
      }
   }

C'est bizarre, parce que ces lignes ne le concernent pas, il ne devrait pas s'en préoccuper. vu que c est pour dom et ie4...

merci
FF
mercredi 15 août 2007 à 01:04:51 | Re : Erreur sous IE mais pas sous Firefox... help

zut69



zut, désolé j ai fait une erreur. la ligne 43 il me mettait un bug à cause du g minuscule, que j'ai déjà corrigé, et en fait c'est faux qu'aucune ligne le concerne, une oui, l'autre non...

merci
mercredi 15 août 2007 à 11:58:06 | Re : Erreur sous IE mais pas sous Firefox... help

bultez

Membre Club




Bonjour,

    quel n° de lignes ? on ne les a pas !

    comme ça ça baigne :



<body>
<div id="toto" name="toto"></div>
<script type="text/javascript">>
   var ns4 = document.layers;           //NS 4
   var ie4 = document.all;              //IE 4
   var dom = document.getElementById;   //NS 6 ou IE 5

   function setDiv(ID,Content) {
      if (dom) {
         document.getElementById(ID).innerHTML = Content;
         return;
      }
      if (ie4) {
          document.all[ID].innerHTML = Content;
         return;
      }
      if (ns4) {
          with (eval('document.'+ID+'.document')) {
             open();
             write(Content);
             close();
         }
         return;
      }
   }
    setDiv("toto","exemple")
</script>
</body>

pas testé sous ns4 !


Cordialement                Bul         [mon Site]     [M'écrire]

Généralement, c'est absurde de généraliser.
mercredi 15 août 2007 à 12:40:34 | Re : Erreur sous IE mais pas sous Firefox... help

zut69



merci, mais ca ne marche toujours pas dans mon code, le problème c est peut etre parce que Content contient du code html ce qui pourrait peut etre interférer avec la fonction je sais pas trop comment.
Regarde ce que je contient Content dans mon cas:

"<br><form name='renommer' action='admin.php3' method='POST'>&nbsp;<input  name='fichier' type='hidden' id='fichier' value='"+file+"'><input name='new_name' type='text' id='new_name' class='text' value='"+file_sans_ext+"'>&nbsp;&nbsp;<input type='submit' name='Submit' class='bouton' value='Renommer'>&nbsp;</form>&nbsp;<br>&nbsp;"

Je ne vois pas de problème comme ça, ça devrait passer pourtant. Firefox est quand même bien plus intelligent que IE...

mercredi 15 août 2007 à 12:54:00 | Re : Erreur sous IE mais pas sous Firefox... help

bultez

Membre Club





>>pourtant. Firefox est quand même bien plus intelligent que IE.
    bien sûr que non !!
    je n'irais  pas jusqu'à dire que je pense le contraire ! quoique ;-))
    d'ailleurs intelligent pour un produit ??

    ce sont 2 produits différents, chacun avec ses avantages, ses inconvénients...
    chacun ses goûts !

>>merci, mais ca ne marche toujours pas dans mon code
    dans ton code. peut-être.
    ce que je t'ai fourni fonctionne. essaye.

    quand à ce que tu y met, après avoir définii ce qu'il faut ( en rouge )
    ça baigne aussi.

<body>
<div id="toto" name="toto"></div>
<script type="text/javascript">
   var ns4 = document.layers;           //NS 4
   var ie4 = document.all;              //IE 4
   var dom = document.getElementById;   //NS 6 ou IE 5

   function setDiv(ID,Content) {
      if (dom) {
         document.getElementById(ID).innerHTML = Content;
         return;
      }
      if (ie4) {
          document.all[ID].innerHTML = Content;
         return;
      }
      if (ns4) {
          with (eval('document.'+ID+'.document')) {
             open();
             write(Content);
             close();
         }
         return;
      }
   }
    file="toto.ext";
    file_sans_ext="toto";
    setDiv("toto","<br><form name='renommer' action='admin.php3' method='POST'>&nbsp;<input  name='fichier' type='hidden' id='fichier' value='"+file+"'><input name='new_name' type='text' id='new_name' class='text' value='"+file_sans_ext+"'>&nbsp;&nbsp;<input type='submit' name='Submit' class='bouton' value='Renommer'>&nbsp;</form>&nbsp;<br>&nbsp;")
</script>
</body>





Cordialement                Bul         [mon Site]     [M'écrire]

Généralement, c'est absurde de généraliser.
mercredi 15 août 2007 à 13:02:52 | Re : Erreur sous IE mais pas sous Firefox... help

bultez

Membre Club








au fait... en cas d'erreur "difficile" :

				
						

o~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o 
| Avec | et mieux :
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
| |regarder la "console d'erreurs" | FireBug
| | Outils / Console d'erreurs | | 
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
||activer le deboggage : Outils/options Internet/Avancés | le Debogger IE
| | dans la liste, sous "Navigation" : décocher | | 
| | ° Afficher une notification de chaque erreur de script | | 
| | ° Désactiver le débogage de Scripts (autres applications)| | 
| | ° Désactiver le débogage de Scripts (Internet Explorer) | | 
o~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o



Cordialement                Bul         [mon Site]     [M'écrire]
Généralement, c'est absurde de généraliser.
mercredi 15 août 2007 à 13:21:23 | Re : Erreur sous IE mais pas sous Firefox... help

zut69



merci, j ai installé Debogger IE, mais il ne fait que me surligner cette ligne:

document.getElementById(ID).innerHTML = Content;

qui est dans la condition du if(dom)

je vois pas ou est l erreur mais bon...
mercredi 15 août 2007 à 13:56:14 | Re : Erreur sous IE mais pas sous Firefox... help

bultez

Membre Club




>>il ne fait que me surligner cette ligne:

et alors...

          que contient ID ? (  j'ai du ajouter un div pour que ça baigne !  )
          comment est décrit l'élément qui reçoit ? je ne sais pas/
          comment est appelé la fonction ?  je ne vois pas non plus.
          que contient Content ?
( ok, ça j'ai vu, mais j'ai du ajouter
                   des choses pour que ça baigne !  )

          quel est le message d'erreur ?

          je ne vois pas d'erreur sur cette ligne directement, certes,
             je ne vois peut-être pas très bien.

    encore une fois, ce que je t'ai mis fonctionne.
    tu as essayé ?

    tu ne nous donnes pas tout ce qu'il faut pour qu'on corrige ton erreur
       ( j'ai bien dis ton erreur, pas celle d'IE ou d'un autre navigateur )
      


Cordialement                Bul         [mon Site]     [M'écrire]
Généralement, c'est absurde de généraliser.

jeudi 16 août 2007 à 23:46:11 | Re : Erreur sous IE mais pas sous Firefox... help

zut69



Bon, alors voila, la je te donne tout:

   function setDiv(ID, Num_content, file, file_sans_ext) {
         if (Num_content == 1) {
      Content = "<br><form name='renommer' action='admin.php3' method='POST'>&nbsp;<input  name='fichier' type='hidden' id='fichier' value='"+file+"'><input name='new_name' type='text' id='new_name' class='text' value='"+file_sans_ext+"'>&nbsp;&nbsp;<input type='submit' name='Submit' class='bouton' value='Renommer'>&nbsp;</form>&nbsp;<br>&nbsp;";
      }
         if (Num_content == 2) {
      Content = "&nbsp;<a href='javascript: setAllDiv(\""+ID+"\",\""+file+"\",\""+file_sans_ext+"\")'>-- Renommer --</a>&nbsp;";
      }
  
      if (dom) {
         document.getElementById(ID).innerHTML = Content;
         return;
      }
      if (ie4) {
          document.all[ID].innerHTML = Content;
         return;
      }
      if (ns4) {
          with (eval('document.'+ID+'.document')) {
             open();
             write(Content);
             close();
         }
         return;
      }
   }

J'ai déjà modifié un petit peu pour etre sur que le problème ne venait pas de l'argument,
vu que ca ne peut etre que 2 codes différents, je soumets un numéro, 1 ou 2 pour savoir lequel j'ai besoin.
Ensuite, j'ai une autre fonction qui remet tout à zéro puis qui active ce que je veux:
function setAllDiv(id,file,file_sans_ext) {
setDiv("id_0","2","Biquette.JPG","Biquette");
setDiv("id_1","2","Broadway.jpg","Broadway");
setDiv("id_18","2","pingouins.gif","pingouins"); //ici, normalement j'ai une grosse liste générée automatiquement par php
setDiv(id, "1", file, file_sans_ext);
}
en fait, le principe du code c est de cliquer sur un lien et celui-ci se transforme en un formulaire
et que lorsque je clique sur un autre lien qui correspond à une autre photo, il réaffiche le lien pour
l'autre formulaire et mette un formulaire ou il y a eu le nouveau clic.

Et pour les div et liens du code html, voici un des div au hasard, mais c est tous les meme de toute facon(boucle php);
<div id="id_18"><a href="javascript: setAllDiv('id_18','pingouins.gif','pingouins')">-- Renommer --</a></span></td></div>

Voilà, là tu as vraiment tout, mais je pense que l'erreur doit venir de cette ligne: document.getElementById(ID).innerHTML = Content;
parce qu'en la mettant en commentaire, il y a plus d'erreur, mais bon ca marche toujours pas vu qu'on ne lui demande pas de modifier
le contenu du div...

merci pour ton aide,
a+
FF
vendredi 17 août 2007 à 06:34:13 | Re : Erreur sous IE mais pas sous Firefox... help

bultez

Membre Club




ben... pas tout quand même !


   var ns4 = document.layers;                       //NS 4
   var ie4 = document.all;                              //IE 4
   var dom = document.getElementById;    //NS 6 ou IE 5      j'ai du remettre
function setDiv(ID, Num_content, file, file_sans_ext) {...


function setAllDiv(id,file,file_sans_ext) {
//setDiv("id_0","2","Biquette.JPG","Biquette");         // j'ai du
//setDiv("id_1","2","Broadway.jpg","Broadway");     // sucrer car non défin i !
setDiv("id_18","2","pingouins.gif","pingouins"); //ici, normalement j'ai une grosse liste générée automatiquement par php
//setDiv(id, "1", file, file_sans_ext);
}


avec le debugger IE, on voit que id_0 est indéfini
    ( comme avec FF d'ailleurs )

et la plus de plantage sur la ligne incriminée.... sans préjuger du reste...



Cordialement Bul [mon Site] [M'écrire]
Généralement, c'est absurde de généraliser.

1 2

Cette discussion est classée dans : ie, erreur, id, document, content


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec IE sur un onChange [ par ov3rdoze ] BonjourJ'ai un select dans un formulaire et j'ai mis dans le onchange : if(this.value=='autre')document.getElementById('PI').innerHTML='';else documen intégration simple d'une fonction à onClick => erreur [ par zut69 ] <td id="HB_Focus_Element" unselectab="" background="" probleme sur appel de radio dans une function [ par destiny ] Lo all,Mon code:echo " ".$danscamp." ";echo "<input type='radio' name='opt".$result_carac['IdPi Pb de sélection dans un 'select' [ par noname85 ] Bonjour a tous ! J'ai un petit soucis avec des boutons "Sélectionner tous et "Déselectionner tous" ! J'explique : J'ai deux boutons dans un formulai Ouvrir un document sans IE [ par Slyders ] Bonjour, je cherche à ouvrir un docmuent RTf sous WORD et pas son substitue d'IE ou il manque 90% des choses.j'ai pour le mment le code suivant : << Probleme de recuperation de valeur [ par adess00 ] Bonjour bonjour,Je voudrais recuperer la valeur d un option mais ça ne marche pas sous IEVoila les 2 code JS que j ai essayé : function loaddata(id){  [variable]document.getelementbyid(id).myStyleVar; [ par TAFT ] Bonjour à tous ! Voici mon problème: Je souhaite  rendre un script ultra accessible à ces éditeurs, pour ce faire, je leur laisse crée Probleme du passage d'un script en HTML [ par guillaumedu69 ] Bonjours à tous.Dsl je ne savait pas ou mettre se post alors je l'ai mis ici. si un admin lui trouve une mailleur place il a cas le deplacer et me dir javascript récupérer variable [ par ahcorad ] Bonjour,Mon code fonctionne bien sauf pour récupérer les valeurs de ma liste déroulante.Voici mon code :<meta http-equiv="Content-Type" content="text/ Gestion des evenements claviers [ par keub51 ] Bonjour, je travaille actuellement sur un framework de javascript. il me sert a afficher une pop-up. je souhaite que cette pop up se ferme avec la tou


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,139 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales