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 :

[Ajax] setInnerHTML n'aime pas le css


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 21
    Par d�faut [Ajax] setInnerHTML n'aime pas le css
    Bonjour � tous,
    je me suis trouv� confront� au fameux probl�me des scripts javascript qui ne s'executent pas si ceux-ci sont ajout� sur une page avec innerHTML. J'ai finalement essay� la solution propos� dans la FAQ, � savoir utiliser setInnerHTML. Cela fonctionne � merveille si ce n'est que les class d�finis dans un css ne sont plus interpr�t�.
    Je m'explique, depuis que j'utilise setInnerHTML, les balises div suppos�s compos� d'un arri�re plan (d�finit dans le css) sont identifis� � l'aide d'un class=... . Seulement elles ne s'affiche tout simplement pas. En revanche, les balises div identifi� avec un id=... s'affiche correctement....
    J'aimerai �viter d'avoir � changer mon �norme css et les quelques centaines de pages qui vont avec :-p.
    Y a -til une solution � ce probl�me ?
    Merci pour vos futurs r�ponses.

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    il n'y a pas dasn la FAQ ou les contribution un script pour ajouter dynamiqueemnt du script dasn une page avec le DOM createElement('script') ?
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 21
    Par d�faut
    En fait je dois charger dynamiquement une page via l'objet xmlhttprequest.
    Pour afficher son contenu, j'utilisais innerHTML jusqu'au moment ou je d�couvre ce probleme de javascript non interpr�t�. setInnerHTML semblait la solution miracle si seulement les class d�finies dans le css �taient interpr�t�es .

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 21
    Par d�faut
    J'ai oubli� de pr�ciser que ce probl�me n'avait lieu que sous Internet Explorer.

  5. #5
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Dans cet exemple les pages sont construites � partir du responseText avec innerHMLT

    http://www.sebemex.fr/Extramiante/Catalogue/index.htm

    Je n'ai pas rencontr� de souci particulier
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  6. #6
    Invit� de passage
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1
    Par d�faut solution ie css via setInnerHTML
    la solution du CSS sous Internet Explorer utilisant setInnerHTML

    ajouter le code css DANS le fichier ajax en question


    exemple :


    ---fichier ajax---contenant--javascript-----

    ...

    <style type='text/css'>
    .CSS_TD_BRD_BORDERS {border:white solid 2px;}
    .CSS_TD_BRD_BORDERS:hover {border:silver dashed 2px;}
    </style>


    .....


    <td class='CSS_TD_BRD_BORDERS'> ....



    -------------------------------------------------

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Par d�faut
    Si quelqu'un revient par ici avec le m�me probl�me (comme moi par exemple), voici le pourquoi du probl�me :

    Dans la fonction setInnerHtm (cf http://www.developpez.net/forums/sho...9&postcount=18) il est indiqu� en d�but de fonction :

    for (var i=0; i<All.length; i++) {
    All[i].id=All[i].getAttribute("id")
    All[i].name=All[i].getAttribute("name")
    All[i].className=All[i].getAttribute("class")
    }
    mais l'ordre All[i].getAttribute("class") ne fonctionne pas sous IE qui attend All[i].getAttribute("className")

    Une solution possible :

    remplacer
    All[i].className=elementClass;
    par

    var elementClass = All[i].getAttribute("class");
    if (elementClass == null) {
    elementClass = All[i].getAttribute("className");
    }
    All[i].className=elementClass;
    Si jamais �a peut �tre utile � quelqu'un...

    Mamat'

  8. #8
    Expert confirm�
    Avatar de le_chomeur
    Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2006
    Messages
    3 653
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 3 653
    Par d�faut
    merci de ton retour

    si tu as r�solu ton probl�me n'oublie pas le tag

  9. #9
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    Citation Envoy� par matyeu Voir le message
    Si quelqu'un revient par ici avec le m�me probl�me (comme moi par exemple), voici le pourquoi du probl�me :

    (...)

    Si jamais �a peut �tre utile � quelqu'un...
    Mamat'
    Pourrais-tu proposer cette solution dans le post o� tu as trouv� la r�f�rence � setInnerHTML ? Ca pourrait en aider plus d'un !

Discussions similaires

  1. [AJAX] IE n'inclus pas le CSS en AJAX
    Par Bis�n�rs dans le forum Contribuez
    R�ponses: 1
    Dernier message: 04/12/2009, 19h40
  2. Menu css et flash (IE n'aime pas la superposition)
    Par kl14582 dans le forum Mise en page CSS
    R�ponses: 2
    Dernier message: 17/11/2008, 13h34
  3. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de donn�es
    R�ponses: 3
    Dernier message: 24/02/2004, 14h45

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