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

AJAX Discussion :

[AJAX] document.getElementById() : firefox/IE


Sujet :

AJAX

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut [AJAX] document.getElementById() : firefox/IE
    Bonjour

    Je viens de développer une application avec de l'ajax. Et maintenant qu'elle roule, je la mets en ligne.
    La cata ! Internet Explorer est encore là pour faire planter mes applications !

    En effet, lors d'un premier appel Ajax, je crée une partie du code de la page. Ensuite, avec du javascript, je modifie un peu le document créé avec des document.getElementById().
    Avec firefox, pas de problème. Mais, Internet Explorer, lui ne reconnait pas les nouveaux id créés ! Comment faire ? Imposer l'utilisation de firefox pour mon application ? Je n'ai rien contre , mais certains vont râler
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Salut,

    Il n'y a à priori aucune raison pour que IE ne reconnaisse pas les id des éléments ajoutés ou modifiés.

    Ensuite, il y a peut-être un problème de nommage : id multiples ou id et name similaires susceptibles de perturber IE.
    Mais sans code, difficile de se faire une idée
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    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
    <table>
     <tbody><tr>
      <th>Prénom</th><th>Nom</th><th>@mail</th><th>Volontaire</th><th>login</th><th>Mot de passe</th><th>Id</th><th>groupe</th><th>Action</th>
     
     </tr>
     <tr>
      <td>Bernard</td><td>SIAUD</td><td>XXXXXXXXuniv-lyon1.fr</td><td>1</td>
      <td>troumad</td><td>XXX</td><td>1</td><td>admin</td>
      <td>
     
       <a href="#ligne_mod" onclick="modif_ens(1)" title="Modifie les informations sur cet étudiant"><img src="/images/edit.png" alt="edit"></a>
       <a href="#" title="Supprime cet étudiant de la base de donn&amp;ées" onclick="suppri_ens(1)"><img src="/images/efface.png" alt="edit"></a></td>
     </tr>
    [... Une ligne par prof  : générée automatiquement par la même boucle du même programme...]
    <tr id="ligne_mod_titre"><th colspan="9">Voulez-vous rajouter un nouvel enseignant ?</th></tr>
     
     <tr id="ligne_mod">
      <th><input size="12" name="prenom_nv" type="text"></th>
      <th><input size="12" name="nom_nv" type="text"></th>
      <th><input size="24" name="mail_nv" type="text"></th>
      <th><input size="5" name="volontaire_nv" type="text"></th>
      <th><input size="12" name="login_nv" type="text"></th>
      <th><input size="15" name="passe_nv" type="text"></th>
      <th><input size="15" name="id_nv" value="0" type="hidden">X</th>
     
      <th>
       <select name="groupe_nv">
        <option value="enseignant">enseignant</option>
        <option value="secret">secret</option>
        <option value="admin">administrateur</option>
       </select></th>
       <th><input onclick="nv_ens(this.form)" value="Validation" title="Je valide ces nouvelles données" type="button"></th>
     
     </tr>
    </tbody></table>
    Les id="ligne_mod_titre" et id="ligne_mod" ne sont pas vu !
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Mais encore
    Qu'est-ce qui te fais dire que les id ne sont pas vus ?
    Quel est le code JavaScript associé ?

    En essayant de supposer sur ce que tu fais, j'imagine que tu dois essayer de modifier les champs de formulaire, dans ce cas, ce n'est pas avec les id que IE a un problème, mais plutôt avec les name modifiés dynamiquement.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    Voici les premières instructions non faites par IE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     document.getElementById('ligne_mod').innerHTML='<td colspan=\"11\">Recherche...</td>';
      document.getElementById('ligne_mod_titre').innerHTML='<td colspan=\"11\">Modifier l\'enseignant suivant</td>';
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben, ça n'indique pas grand chose de plus... sauf que tu as un souci avec tes nombres de colonnes, parfois 3 (2e tr du tbody) parfois 9, et là tu essayes d'en insérer 11
    Ensuite, il ne faut pas échapper les doubles quotes
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    Pour les doubles quotes, mon javascript est généré par du php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     echo "<script type='text/javascript'>
    //<![CDATA[
    Pour le 11 , c'est une erreur que je m'empresse de corriger ! Et ce n'est tout de même pas ça qui va faire planter MSIE ? Je ne pourrais pas tester de MSIE avant Jeudi...

    Pour le reste, je ne vois pas quoi donner ! La page complète ? Elle n'est pas accessible de l'extérieur de l'IUT (pour la version utilisée) et de chez moi pour la version de développement.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  8. #8
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par troumad Voir le message
    Voici les premières instructions non faites par IE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     document.getElementById('ligne_mod').innerHTML='<td colspan=\"11\">Recherche...</td>';
      document.getElementById('ligne_mod_titre').innerHTML='<td colspan=\"11\">Modifier l\'enseignant suivant</td>';
    Internet Explorer, innerHTML:

    The property is read/write for all objects except the following, for which it is read-only: COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR.
    ERE

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 36
    Par défaut
    Tu as essayé avec une autre méthode : createElement ?

  10. #10
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    Bon... D'après ce que je vois, il ne reste plus qu'à imposer l'utilisation de firefox !
    emmanuel.remy, tu as trouvé ça où ? Et pourquoi ces restrictions ? Est-ce une idée MicroSoft ou une norme officielle ?

    Presque tous mes innerHTML=, je les fais dans les tr ou des table...
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  11. #11
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,
    Citation Envoyé par troumad Voir le message
    Bon... D'après ce que je vois, il ne reste plus qu'à imposer l'utilisation de firefox !
    emmanuel.remy, tu as trouvé ça où ? Et pourquoi ces restrictions ? Est-ce une idée MicroSoft ou une norme officielle ?

    Presque tous mes innerHTML=, je les fais dans les tr ou des table...
    Toutefois, vous ne pouvez pas non plus définir InnerHtml sur les éléments TABLE et TR, étant donné qu'assigner du HTML incorrect à ces éléments pourrait endommager le rendu du document. Utilisez AppendChild ou les méthodes insertRow et insertCell (...)
    http://msdn.microsoft.com/fr-fr/libr...innerhtml.aspx

    ERE

  12. #12
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    J'avoue que mon problème n'est surtout pas ce que pense MicroSoft, ce sont les normes officielles. Ce qui n'a malheureusement aucun rapport un peu trop souvent.
    En plus, ce que je rajoute est du html correct pour être mis à ces emplacements.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  13. #13
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Citation Envoyé par troumad Voir le message
    J'avoue que mon problème n'est surtout pas ce que pense MicroSoft, ce sont les normes officielles. Ce qui n'a malheureusement aucun rapport un peu trop souvent.
    En plus, ce que je rajoute est du html correct pour être mis à ces emplacements.
    Si ton problème est surtout lié aux "normes officielles", alors note que innerHTML ne fait partie d'aucune norme... Ton code est erroné, j'en suis désolé mais c'est ainsi, et Microsoft n'y est pour rien . Pour les tables on passe par la manipulation du DOM (et des fonctions - insertRow, insertCell), et dans les cas des autres balises on essaie innerHTML et on compte les points. Par exemple innerHTML ne fonctionne pas non plus correctement si le texte inséré contient une balise SCRIPT.

    ERE

  14. #14
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    OK !
    Je ne savais pas pour innerHTML. Mais, comme depuis, j'ai continué, je vais donc demander l'utilisation de FireFox en attendant que tout soit fini. Après (quand le développement sera fini) , je verrais pour modifier ma fonction qui utilise le innerHTML : je ne l'utilise que dans une seule fonction, donc, ça ne me demandera pas de tout refaire.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  15. #15
    Invité de passage
    Inscrit en
    Octobre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 1
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    ERE
    Bonjour

    Essayez cette solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //On teste sur la version du navigateur
     
    if(navigator.appName=='Microsoft Internet Explorer')
    {
    //On met directement l'ID
     ligne_mod.innerHTML='<td colspan=\"11\">Recherche...</td>';
     ligne_mod_titre.innerHTML='<td colspan=\"11\">Modifier l\'enseignant suivant</td>';
    }
    else
    {
     document.getElementById('ligne_mod').innerHTML='<td colspan=\"11\">Recherche...</td>';
      document.getElementById('ligne_mod_titre').innerHTML='<td colspan=\"11\">Modifier l\'enseignant suivant</td>';
    }
    J'espère que ça aide...

  16. #16
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    Je vais testé dès que j'aurais un Internet Explorer disponible
    Lundi peut-être !

    Merci !
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

Discussions similaires

  1. Firefox sur Mac OS 10.4.11 et document.getElementById
    Par patou21 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 07/09/2009, 13h58
  2. equivalent de document.getElementById("").value dans firefox
    Par MedNaceur dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 12/05/2009, 10h46
  3. Réponses: 3
    Dernier message: 02/05/2009, 09h03
  4. [AJAX] Compatibilite Ajax Internet explorer window.document.getElementById
    Par vinczente dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/06/2008, 09h49
  5. Réponses: 2
    Dernier message: 07/01/2007, 12h22

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