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] innerHTML : code altéré


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut [AJAX] innerHTML : code altéré
    Bonjour, je ne sais pas d'ou ça vien, mais à cause de ça j'ai des petits soucis la; Je ne sais pas pourquoi j'obtiens une altération de code sous FF et pas sous IE Je pense que c'est de là que mes fonctions ne fonctionnent ( ) pas! http://www.developpez.net/forums/sho...d.php?t=197315

    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var ALSACE_map = 	
    '<map name="Region" border="0">' +
    	'<area shape="rect" coords="248,202,268,222" href="../html/robot.htm?strasbourg">' +
    	'<area shape="rect" coords="146,407,166,423" href="../html/robot.htm?colmar">' +
    	'<area shape="rect" coords="143,535,162,555" href="../html/robot.htm?mulhouse">' +
    '</map>' +
    '<br/>Ville : <select id="town_name">' +
    					'<option value="strasbourg">Strasbourg</option>' +
    					'<option value="mulhouse">Mulhouse</option>' +
    					'<option value="colmar">Colmar</option>' +
    					'<input type="button" value="Valider" onClick="var la_ville = getElementById(\'town_name\').options.selectedIndex;'+
    'location.href=\'./robot.htm?\'+ document.getElementById(\'town_name\').options[la_ville].value;"></select>';
    IE:


    FF:
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    A priori, Il essaie de rendre ton texte "compatible" XML.

    En effet, quand tu écris :

    Tu sors de la spécification XML. Car à la fin de ta balise BR, tu écris directement du texte, ce qui est interdit en XML.

    Donc, j'imagine que bêtement, il t'ajoute une balise <font>, pour le rendre conforme..

    Par contre qu'il te transforme <br/> en <br> c'est étonnant..

    Arrange toi pour englober cette partie de texte, par exemple avec une balise <span> qui n'aurait aucun effet sur le formattage, pour voir si ça ne résoud pas ton problème;

    Tu peux aussi récupérer le flux AJAX en tant que "texte" et donc "non modifié" par le parseur. Peut-être dois-tu procéder de la sorte. En utilsant responseText au lieu de responseXML.

    A+
    K

  3. #3
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Citation Envoyé par KiLVaiDeN
    Arrange toi pour englober cette partie de texte, par exemple avec une balise <span> qui n'aurait aucun effet sur le formattage, pour voir si ça ne résoud pas ton problème
    => ça donne la meme chose avec du span :/

    Citation Envoyé par KiLVaiDeN
    Tu peux aussi récupérer le flux AJAX en tant que "texte" et donc "non modifié" par le parseur. Peut-être dois-tu procéder de la sorte. En utilsant responseText au lieu de responseXML.
    => je ne vois pas très bien ce que tu veux dire par là, ni la manière dont utiliser cette solution
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Comment as-tu mit ton span ?

    => je ne vois pas très bien ce que tu veux dire par là, ni la manière dont utiliser cette solution
    responseText ne parse pas le contenu; alors que responseXML s'attend à du XML.

    Quel librairie utilises-tu pour récupérer ton flux AJAX ?
    K

  5. #5
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    j'utilise pas d'ajax et je connais rien en ajax hehe!

    sinon le span je l'ai mis soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var ALSACE_map = 	
    '<span><map...
     ...
    ...elect></span>';
    soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    '<span><br/>Ville ...
     ...
    ...elect></span>';
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  6. #6
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    En XML, tu ne peux pas écrire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a>texte
    <b>test</b>
    </a>
    Tu ne peux inclure dans une balise que du texte OU une autre balise, mais pas les deux à la fois.

    donc il faudrait faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var ALSACE_map = 	
    '<map name="Region" border="0">' +
    	'<area shape="rect" coords="248,202,268,222" href="../html/robot.htm?strasbourg">' +
    	'<area shape="rect" coords="146,407,166,423" href="../html/robot.htm?colmar">' +
    	'<area shape="rect" coords="143,535,162,555" href="../html/robot.htm?mulhouse">' +
    '</map>' +
    '<br /><span>Ville : </span><select id="town_name">' +
    					'<option value="strasbourg">Strasbourg</option>' +
    					'<option value="mulhouse">Mulhouse</option>' +
    					'<option value="colmar">Colmar</option>' +
    					'<input type="button" value="Valider" onClick="var la_ville = getElementById(\'town_name\').options.selectedIndex;'+
    'location.href=\'./robot.htm?\'+ document.getElementById(\'town_name\').options[la_ville].value;" /></select>';
    K

  7. #7
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Citation Envoyé par avogadro
    j'utilise pas d'ajax et je connais rien en ajax hehe!
    Autant pour moi, j'associe l'utilisation du innerHTML à l'utilisation d'AJAX désormais hehe, c'est de ma faute

    A+
    K

  8. #8
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Citation Envoyé par KiLVaiDeN
    Tu sors de la spécification XML. Car à la fin de ta balise BR, tu écris directement du texte, ce qui est interdit en XML.
    Je tiens à rectifier ce que j'ai dit; Ceci n'est pas vrai, il est tout à fait possible en XML d'avoir du texte et à coté une balise.

    A+
    K

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Ajax, innerHTML et fonction javascript - solution ?
    Par gouroulubrik dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/03/2008, 21h35
  2. [AJAX] Ajax, innerHTML et variable javascript
    Par philippejuju dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/01/2007, 11h30
  3. innerHTML, code HTML pas mis à jour
    Par highman dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/10/2006, 14h55
  4. [AJAX] innerHTML et IE
    Par gmonta31 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/05/2006, 11h12
  5. AJAX + Innerhtml + img => Bug sous IE
    Par GregPeck dans le forum Langage
    Réponses: 12
    Dernier message: 07/02/2006, 17h43

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