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

Flex Discussion :

Affichage HTML dans un text ou textarea


Sujet :

Flex

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 29
    Points
    29
    Par défaut Affichage HTML dans un text ou textarea
    Salut à tous,

    Je cherche à savoir comment réaliser l'affichage d'un texte HTML dans un composant text ou textarea. Ca serai pour réaliser un affichage de news.

    Ce texte HTML est généré à partir d'un Rich Text Editor, que j'envoi dans ma base de donnée une fois le texte crée.
    Je récupere ensuite ce texte grâce à un HTTPService qui execute mon script PHP qui me retourne un XLM avec les differentes composante de ma new (id,titre,texte). J'affiche la liste de mes news dans un datagrid (id,titre,texte) et lorsque je fait

    montextarea.htmlText = mondatagrid.selectedItem.texte

    J'obtient un [ object Object ] à la place de mon texte...

    Je pense que le probleme se situe au niveau du xml retourné par le script php, car dans la logique l'attribut <texte> retourné contiendra lui meme de nouvelles balises: celle de mon code html.

    Personne ne sait quelle solution je pourrai adopter? Je n'ai trouvé que de vieux messages sur des forum sur internet...



    Un peu de code:

    Mon php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ....
    $Query = "SELECT * FROM news ORDER BY id DESC";
    $Result = mysql_query( $Query );
     
    $Return = "<news>";
     
    while ( $ligne = mysql_fetch_object( $Result ) )
    {
    $Return .= "<unenews><texte>".$ligne->texte."</texte><titre>".$ligne->titre."</titre><id>".$ligne->id."</id></unenews>";
    }
    $Return .= "</news>";
    mysql_free_result( $Result );
    print ($Return)
    ?>

  2. #2
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Bonjour,

    Qu'as tu mis dans ton dataprovider ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    Salut à toi. Voici le code du dataprovider de mon datagrid.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <mx:DataGrid id="listenews" x="10" y="10" width="52" color="#009DFF" borderColor="#000000" 
    				dataProvider="{afficherNews.lastResult.news.unenews}" click="chargerNewsSelect()" >

  4. #4
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Si tu regardes la documentation officielle concernant la manipulation du XML en Flex, tu verras qu'il conseille plutôt d'écrire la chose suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    afficherNews.lastResult.unenews
    En espérant que cela puisse t'aider,

    ++

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    Si je met afficherNews.lastResult.unenews mon datagrid n'est pas rempli.

    En revanche si je met afficherNews.lastResult.news.unenews la mes colonnes se remplissent: id, titre, et j'ai ce fameu [object Object] dans la colonne texte.

    Comment dire à mon application que le début des balises php devrait etre considéré comme une chaine de caractere....

  6. #6
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Ah oui je vois peut être d'où ca peut venir. Tu utilises un itemRenderer je suppose, pourrais tu nous montrer le code s'il te plait ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    Voici mon mxml:

    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
    <mx:State name="accueil">
    			<mx:AddChild relativeTo="{contenant}" position="lastChild">
    				<mx:Label x="350" y="10" text="News" color="#FFFFFF" fontStyle="normal" fontWeight="bold" fontSize="30" fontFamily="Arial" textDecoration="normal"/>
    			</mx:AddChild>
    			<mx:AddChild relativeTo="{contenant}" position="lastChild">
    				<mx:DataGrid id="listenews" x="620" y="10" width="100" color="#009DFF" borderColor="#000000" 
    				dataProvider="{afficherNews.lastResult.news.unenews}" click="chargerNewsSelect()" >
    					<mx:columns>
    						<mx:DataGridColumn headerText="News" dataField="id" visible="false"/>
    						<mx:DataGridColumn headerText="Liste des news" dataField="titre" visible="true"/>
    						<mx:DataGridColumn headerText="Contenu" dataField="texte" visible="false"/>
    					</mx:columns>
    				</mx:DataGrid>
    			</mx:AddChild>
    			<mx:AddChild relativeTo="{contenant}" position="lastChild">
    				<mx:Label x="87.5" y="149" id="txtTitreNewsSelect" text="" fontWeight="bold" fontSize="18" fontFamily="Arial" color="#FCFCFC"/>
    			</mx:AddChild>
    			<mx:AddChild relativeTo="{contenant}" position="lastChild">
    				<mx:TextArea backgroundAlpha="0.00" x="87.5" y="188" width="633" height="522" id="txtTexteNewsSelect"/>
    			</mx:AddChild>
    		</mx:State>

    Et voici mon AS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Chargement de la news selectionnée
    private function chargerNewsSelect() :void
    {
    	txtTitreNewsSelect.text=listenews.selectedItem.titre;
    	txtTexteNewsSelect.htmlText=listenews.selectedItem.texte;
    }

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    Oups j'ai oublié mon HTTPService:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!-- HTTPService d'affichage des news -->
    	<mx:HTTPService id="afficherNews" url="../ScriptPHP/afficheNews.php" useProxy="false" fault="faultHandlerNews(event)" />

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    Et non je n'utilise pas d'itemRedender , ma text Area est affichée ailleur comme tu peux le voir.

  10. #10
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Oups en fait ce n'est pas une histoire d'itemRenderer car j'ai lu ton problème un peu de travers. Il faudrait peut être t'assurer que texte correspond bien à un String. Tu devrais débugger pour voir le contenu XML que te retournes le PHP.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    Ben en fait il me retourne mon xml comme convenu, mais je suis persuadé que étant donné que derrière ma balise <texte> commence mon code html, flex ne m'affiche pas mon code.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <news><unenews><texte><TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="10" COLOR="#0B333C" LETTERSPACING="0" KERNING="0">ttt</FONT></P></TEXTFORMAT></texte><titre>ttt</titre><id>19</id></unenews>
    En gras, le code html que je voudrais extraire.

    Mais ce n'est pas grave, merci pour ton aide, je vais simplifier les choses en utilisant simplement le texte et non htmlText pour le moment. Je verai par la suite.

    Encore merci.

  12. #12
    Membre expérimenté

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Points : 1 710
    Points
    1 710
    Par défaut
    Ah ben voila !
    Il ne considère pas cette portion comme un texte mais comme un objet XML.
    Je crois que tu dois utiliser les CDATA pour pouvoir insérer ce genre de texte.

    ++

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    Ouaip'

    Merci encore.

    A+

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/11/2008, 15h33
  2. interpréter les balises html dans un texte
    Par aymenroma dans le forum JSF
    Réponses: 2
    Dernier message: 04/09/2008, 18h18
  3. Affichage html dans un JTextField
    Par bouism dans le forum Composants
    Réponses: 1
    Dernier message: 10/06/2007, 00h06
  4. [FLASH 8] Texte html dans champ texte dynamique
    Par bractar dans le forum Flash
    Réponses: 9
    Dernier message: 21/01/2007, 11h08
  5. [HTML] Ne pas interpréter du HTML dans un texte
    Par shaun_the_sheep dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 15/11/2006, 11h11

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