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 :

getElementByID sous IE


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut getElementByID sous IE
    Bon j'ai pas trop fouillé encore, c'est plus pour noter cette erreur quelque part et garder une trace de la solution un jour.
    Je fais tellement jamais ou presque du javascript ^^

    Donc voilà code testé sous firefox pas de problème.
    Sous IE renvoie l'erreur : document.getElementById(...) is null or not an object
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  2. #2
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    Plus précisément, dans ma page il y a une liste déroulante.
    Le code HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div class="at6_choix_liste">
       <label for="select_format_doc">Format</label>
        <select name="select_format_doc" id="select_format_doc">
          <option>------</option>
        </select>
    </div>
    Et quand je clique sur un autre élément de la page j'appelle la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function setFlyer()
    {
    	//alert("setFlyer");
    	var inner_liste_format = "<option onclick='goDescriptionFormat(\"flyer_1\"); goQuantite(\"flyer_1\");'>Flyer A5 148.5 mm x 210 mm</option>"
    		+ "<option onclick='goDescriptionFormat(\"flyer_2\"); goQuantite(\"flyer_2\");'>Flyer A4 210 mm x 297 mm</option>" ;
    	setFormatListeContent(inner_liste_format);
    	var inner_liste_recto =" <div><input name=\"choix_recto\" type=\"radio\" value=\"R\" id=\"imp_recto\" onclick=\"goRecto('recto'); setRecapDevis();\"/> <span class=\"nom_bouton\">Impression Recto</span></div>"
    		+ "<div><input name=\"choix_recto\" type=\"radio\" value=\"RV\" id=\"imp_recto_verso\"  onclick=\"goRecto('recto_verso'); setRecapDevis();\"/> <span class=\"nom_bouton\">Impression Recto / Verso</span></div>" ;
    	setRectoListeContent(inner_liste_recto);
    	devis.recto = "recto" ;
    	goDescriptionFormat("flyer_1");
    	goQuantite("flyer_1");
    }
    La méthode setFormatListeContent (setRectoListeContent est équivalente) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function setFormatListeContent (_inner_liste_format)
    {
    	//alert("fonction set liste" + _inner_liste_format);
    	var liste_format = document.getElementById('select_format_doc');
    	liste_format.innerHTML = _inner_liste_format;
    }
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  3. #3
    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
    Euh... tu pourrais nous montrer un peu de code (JavaScript et HTML en rapport) histoire de pouvoir regarder où peut se poser le problème
    Parce que IE accepte getElementById() depuis la version 4, donc il n'y a aucune raison manifeste à ton problème
    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

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,


    on ne crée pas le contenu d'une liste select avec innerHTML (surtout sous IE), il faut utiliser les fonctions DOM.

  5. #5
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    Merci pour vos réponses.
    Ca m'a bien aidé.
    Maintenant, j'ai un autre problème, j'arrive pas à ajouter des attributs onclick sur des options dans un select sous safari.
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par natoine Voir le message
    Merci pour vos réponses.
    Ca m'a bien aidé.
    Maintenant, j'ai un autre problème, j'arrive pas à ajouter des attributs onclick sur des options dans un select sous safari.
    le onclick sur des options est une hérésie. C'est sur le onchange du select que tu le fais

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    option n'a pas d'attribut onclick, utilise plutôt onchange du select et tu peux accéder à la valeur de l'option sélectionnée avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("idDuSelect").options[document.getElementById("idDuSelect").selectedIndex].value;
    A+.

  8. #8
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    Merci, ça marche nickel.
    Bon ça me fait un peu revoir mon code mais je suis plus à ça près ^^
    Par contre je m'emm**** avec l'encodage maintenant.
    Je mettais des eacute; dans mes innerHTML mais en mettant des eacute; dans les TextNode ça marche pas et si je mets un é je me tape des erreurs d'encodage
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Par contre je m'emm**** avec l'encodage maintenant.
    Je mettais des eacute; dans mes innerHTML mais en mettant des eacute; dans les TextNode ça marche pas et si je mets un é je me tape des erreurs d'encodage
    essaies en mettant un & devant, exemple &eacute;

  10. #10
    Membre éclairé
    Avatar de natoine
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2007
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 393
    Par défaut
    héhé si c'était ça ^^
    Merci no smoking mais j'avais mis le &.
    Je ne l'ai juste pas mis dans mon post.

    Donc ma solution je l'ai trouvé là :
    http://www.pyrat.net/JavaScript-alert-et-accents.html

    Et ça marche nickel.

    Problème suivant :
    Sous ie, mon contenu se met bien à jour comme dans les autres navigateurs.
    Sauf que, j'ai un footer dans mon site. Et ce footer ne se décalle pas dynamiquement vers le bas de la page. Je précise, que sous ie. Pourtant le html est bien formé.
    En fait, en s'acharnant à faire des sélections de texte ou cliquer sur la zone de ma div qui déborde sur le footer, celui-ci finit par se bouger et se mettre ou il faut.

    Un truc de malade, je comprends pas
    www.natoine.fr
    natoine.developpez.com
    Principalement du Java avec un soupçon de réseaux sociaux.

Discussions similaires

  1. getElementById sous IE -> impossible d'accéder à l'objet HTML
    Par janoyolo dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 18/09/2009, 15h22
  2. document.getElementById sous IE
    Par ahmet57 dans le forum Langage
    Réponses: 7
    Dernier message: 19/05/2008, 12h51
  3. getElementById sous Firefox
    Par Rajhonson dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/12/2006, 16h45
  4. erreur getElementbyId().innerhtml sous ie4
    Par topprof dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/10/2006, 17h23
  5. getElementById OK sous IE pas sous Firefox
    Par omlip dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/06/2006, 12h04

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