Document.getElementById et IE7

Signaler
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009
-
 wals69 -
Bonjour,

J'utilise sans souci un AJAX qui me retourne bien un résultat HTML sur Firefox et IE7 également (vérifié avec alert()).

Un div affiche le résultat sur FF mais pas sur IE7

Une idée ?

if (document.getElementById)
    {
    document.getElementById('pseudobox').innerHTML = texte;    
    }
  else if (document.all)
    {
    document.all["pseudobox"].innerHTML = texte;
    }
}

...

31 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

ça ne vient pas de là.
    FF et IE passe tous les 2 par document.getElementById

à mon humble avis, plutôt regarder du coté des
        xml.open, xml.send...  enfin, les fonctions "ajax" quoi.

et parfois ( ça aide ) :






o~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o 
| Avec | et mieux : <label style="color: rgb(0, 128, 0);">Télécharger</label> | 
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
|<label style="color: rgb(128, 0, 0);">FireFox</label> |regarder la "console d'erreurs" | FireBug
| | Outils / Console d'erreurs | | 
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
|<label style="color: rgb(128, 0, 0);">Internet Explorer</label>|activer le deboggage : utils/options Ile 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








<hr />



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



<hr />
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009

Bonjour,

Pourtant, quand je remplace
return(xhr_object.responseText);
par
alert(xhr_object.responseText);

FF et IE7 m'affiche bien le HTML dans leus fenetre d'alerte JS respectifs donc
l'ajax fonctionne bien, c'est un problème d'affichage plutôt.

J'ai mis ceci mais idem:

function $(id){return document.getElementById(id);}
function writediv(texte) {  $('pseudobox').innerHTML = texte; }

Sous Firebug => aucune erreur
IE7 => erreur d'éxécution inconnue (ça aide)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>alert(xhr_object.responseText);    FF et IE7 m'affiche bien le HTML
    donc ok, xml correct.

        mais

<script type= "text/javascript">
function $(id){return document.getElementById(id);}
function writediv(texte) {  $('pseudobox').innerHTML = texte; }
writediv("exemple");
</script>

    ça baigne aussi.

    SAUF si les balises n'existent pas !

      
Erreur 'null' a la valeur Null ou n'est pas un objet

    il y a probablement d'autre cas....








>>IE7 => erreur d'éxécution inconnue

    tu as regardé ce qui concerne le deboggage avec IE dans mon 1er message ?


    <hr />


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



<hr />
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009

oui, j'ai mis les parametres d'IE7 comme indiqué

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)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
il reste une erreur ailleurs ( à priori du style absente, peut-être me trompe-je )
FF ( ou Opera... ) la signale peut-être mais réussit  à faire fonctionner (?)

s'il y a des .js les réincorporer... contrôler la syntaxe html...

parsemer d'alert() ou debugger IE en pas à pas...
<hr />


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



<hr />
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009

voici la page complète:

(la source de la page sous IE montre des BODY :)
--------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet exclude-result-prefixes="xsl fmrs #default" version="1.0" xmlns:fmrs="http://www.filemaker.com/xml/fmresultset" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <?xslt-cwp-query params="-grammar=fmresultset&-encoding=UTF-8&-process"?>
    <xsl:param name="request-query"/>
    <xsl:include href="utilities.xsl"/>
    <xsl:output encoding="UTF-8" indent="yes" method="html"/>
    <xsl:variable name="stored-find">
        <xsl:call-template name="get-stored-find"/>
    </xsl:variable>
    <xsl:template match="/fmrs:fmresultset">
        <html>
            <head>
            <meta http-equiv="Cache-Control" content="no-cache"/>
                <title>Accueil</title>
            </head>
<script type="text/JavaScript">
<xsl:text disable-output-escaping="yes">
<![CDATA[

function $(id){return document.getElementById(id);}
function writediv(texte) {  $('pseudobox').innerHTML = texte; }

function verifPseudo(pseudo)
{
if(pseudo != '')
{
 if(texte = file('result.xsl?-lay=Wdepartements&Département.op=cn&Département='+ escape(pseudo) +'&CP.op=cn&CP=&secteurdv.op=eq&secteurdv=&secteurmanager.op=eq&secteurmanager=&secteurcommerciaux.op=eq&secteurcommerciaux=&-lop=and&-find=Rechercher+des+enregistrements'))
{
writediv(texte);}
}
}
function file(fichier)
{    var xhr_object = null;
     
    if(window.XMLHttpRequest) // Firefox et autres
       xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject){ // Internet Explorer
       try {
                xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
            }
    }
    else { // XMLHttpRequest non supporté par le navigateur
       alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
       xhr_object = false;
    }
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
]]>
</xsl:text>
</script>
           
                                    ----

                        Rechercher un département ...
,
                   
               

                <hr align="left" width="50%"/>
                <form action="">
      ----

      Saisissez le debut du nom :

       
         
       ,
       
    ----

            <table width="100%" border="0" align="left">
    ----

     ,

</td>
   
 

      </td>
    </tr>
  </table>

</form>
           
        </html>
    </xsl:template>
</xsl:stylesheet>
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
on ne peux pas tester en local, si ? faut être sur un site, non ?
.xml ça ne plait pas, .htm la syntaxe plait encore moins.
<hr />                Cordialement                Bul     [mon Site]     [M'écrire]<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
et quand j'essaie avec easyphp :
 if(texte = file('result.xsl?-lay=Wdepartements&D
    rale sur l'accent ! c'est peut-être uniquement cela...
<hr />                Cordialement                    Bul     [mon Site]     [M'écrire]<hr />
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bien le Bonjour à TOUS





Je confirme ce qu'écrit The BULTEZ
...avec encoding="UTF-8" j'ai déjà rencontré pas mal de problème si il y a des carractères accentué
essaies de tester en changeant l'encoding...




;0)
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009

j'ai enlevé l'accent de departement, idem :)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
salut PetoleTeam, content de te revoir.
ben si c'est ça... quand on voit  ce que répond IE... ça fait peur ;-)
il est vrai que dans les variables... les accents sont interdits...
<hr />            Cordialement            Bul     [mon Site]     [M'écrire]<hr />
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
- peut être serait-il bon de mettre le texte récupéré dans un TEXTAREA pour observer la chaîne en final.
- essayer aussi avec

xhr_object

.responseXML
- ou encore faire l'affichage dans la fonction en évitant le return

if(xhr_object.readyState == 4){
  var Obj = document.getElementById('pseudobox')
  Obj.innerHTML = xhr_object.responseText;
}




;0)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
si on enlève tous les accents ( il y en a plusieurs, et il faut aussi
enlever ceux  dans les commentaires ), IE ne rale plus en local. 
il faudrait retester sur le site.

ou alors... j'avais des problèmes d'accents avec RUBY... jusqu'à
ce que je sauve les fichiers (avec mon editeur de Texte) en UTF-8 ,
maintrenant tout baigne...

créer/sauver tous les fichiers en UTF-8 ?

<hr />


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



<hr />
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
Tous a fait VRAI, mais qui en douterait, les accents sont à supprimer dans TOUT le document en UTF-8, commentaires y compris et SURTOUT...


- as tu testé en changeant l'encoding="UTF-8" ?







;0)
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009

Je n'ai plus d'accent dans recherche.xsl et result.xsl ...

idem

si je mets encoding="iso-8859-1" à la place de encoding="UTF-8" j'ai un erreur serveur
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009

créer/sauver tous les fichiers en UTF-8 ?

quel logiciel pour faire ça stp ?
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009

créer/sauver tous les fichiers en UTF-8 ?

quel logiciel pour faire ça stp ?
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009

Sortie TEXTAREA

<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-15">
<title>Liste des enregistrements</title>
</head>

<form method="post">
Departement |CP |Secteur DV |Secteur Manager |Secteur commercial |

----

Seine-Maritime, 76, France, France, France,

----

Seine-et-Marne, 77, France, France, France,

----

Hauts de Seine, 92, France, France, France,

----

Seine Saint Denis, 93, France, France, France

</form>

</html>
Messages postés
31
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
22 décembre 2009

A noter que cette sortie enregistrée dans un fichier html est lue correctement par IE7

Je craque un peu là
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
ben... si c'est du html avec


charset=ISO-8859-15
    plus rien à voir avec du xml en utf-8... ou je n'ai pas compris ?










>>créer/sauver tous les fichiers en UTF-8 ?    quel logiciel pour faire ça stp ?

    un éditeur de texte quelconque, à priori, ils le permettent tous...
    j'utilise NotePAD++ ( open source, gratis, multi-documents,
       coloration syntaxique... ) : http://notepad-plus.sourceforge.net/fr/site.htm




<hr />



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



<hr />