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

Bibliothèques & Frameworks Discussion :

Remplir l'éditeur via javascript [TinyMCE]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de betadev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 94
    Par défaut Remplir l'éditeur via javascript
    Bonjour ,

    Comment puis-je mettre un texte dans un éditeur tinyMCE via javascript ?!
    J'ai essayé pas mal de solutions sur le net , mais toujours pas résultats (l'éditeur est toujours vide) et firebug me fournit une erreur "tinyMCE.get is not a function". malgré que le syntaxe est correcte à ce que j'ai vu ici http://tinymce.moxiecode.com/wiki.ph...tor.setContent

    Voici un morceau de code :
    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
    <html>
    <head>
    <script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
    <script language="javascript" type="text/javascript">
    	tinyMCE.init({
     
    		mode : "exact",
    		theme : "advanced",
    		elements : "text",
    		language : "fr"	
    		});
     
     
    tinyMCE.get('text').setContent('<span>test</span>'); // ici le code pour insérer du texte
    </script>
    </head>
    <body>
    	<textarea name="text" id="text" ></textarea>
    </body>
    </html>
    Merci beaucoup.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Salut,

    ton textarea se "transforme" t-il en éditeur tinyMCE ou pas ?

    Car, à vue de nez, je dirais qu'en fait, tu tentes d'initialiser ton éditeur tinyMCE sur un textarea qui n'existe pas encore dans le document (le navigateur lit et interprête le code dans l'ordre de la page, et ton javascript s'exécute visiblement avant que ton textarea ne soit chargé par le navigateur), la fonction pour mettre à jour le contenu de l'éditeur ne fonctionne pas non plus puisque l'éditeur n'est pas véritablement initialisé.

    Il faut pour cela que tu indiques au navigateur que tes instructions s'exécutent une fois le document chargé.

    Voici un exemple de code qui te permet d'initialiser ton éditeur tinyMCE une fois le document entièrement chargé :
    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
     
    function addEvent(obj,event,fct)
    {
            if (obj.attachEvent)
                    obj.attachEvent('on' + event,fct);
            else obj.addEventListener(event,fct,true);
    }
     
    function initTinyMCE(){
       tinyMCE.init({
       		mode : "exact",
       		theme : "advanced",
       		elements : "text",
       		language : "fr"	
       		});
     
       tinyMCE.get('text').setContent('<span>test</span>'); // ici le code pour insérer du texte
    }
     
    addEvent(window,"load",initTinyMCE);
    Ou si tu utilises un framework, genre jQuery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function initTinyMCE(){
       tinyMCE.init({
       		mode : "exact",
       		theme : "advanced",
       		elements : "text",
       		language : "fr"	
       		});
     
       tinyMCE.get('text').setContent('<span>test</span>'); // ici le code pour insérer du texte
    }
     
    $(document).ready(initTinyMCE);
    A+

  3. #3
    Membre confirmé Avatar de betadev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 94
    Par défaut
    Merci pour ton aide.

    Si , j'ai mis mon champs textarea
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="text" id="text" ></textarea>
    et mon éditeur apparait bien , il fonctionne mais toujours j'ai le même problème même avec jquery , vraiment ça me pose toujours un problème même si le truc parait simple.
    Voici mon code avec jquery si dessous
    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
    <html>
    <head>
    <script src="jquery-1.2.3.min.js"></script>
    <script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
    <script language="javascript" type="text/javascript">
    	tinyMCE.init({
    		mode : "exact",
    		theme : "advanced",
    		elements : "text",
    		language : "fr"	
    		});
     
    jQuery(document).ready(function($) {
    	tinyMCE.get('text').setContent('<span>test</span>'); // ici le code pour insérer du texte
    });
     
    </script>
    </head>
    <body>
    	<textarea name="text" id="text" ></textarea>
    </body>
    </html>
    j'ai essayé encore d'appeler le document .ready à la fin de la page (après le textarea) même si ça parait inutile car on utilise le document.ready

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Est-ce que le tinyMCE.get("...") te renvoie bien une instance tinyMCE ?

    Que donne le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(tinyMCE.get('text'));
    dans ton document.ready ? undefined ou [object Object] ?

  5. #5
    Membre confirmé Avatar de betadev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 94
    Par défaut
    Justement , ça n'affichera pas une alerte javascript , mais plutôt une erreur avec firebug "tinyMCE.get is not a function" ,
    je suis entrain de chercher maintenant comment avoir une instance de l'objet tinyMCE pour essayer d'appeler la fonction get avec lui !!! peut être que ça résoudra le problème.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Et dans firebug, si tu ajoutes un espion dans la partie "script" sur "tinyMCE", qu'obtiens-tu ?

    Il semblerait que ton objet tinyMCE soit écrasé par un autre objet ne possédant pas de méthode get ? à moins que ce soit un problème de scope ?

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

Discussions similaires

  1. Remplir un tableau via Javascript & Action Controller
    Par Invité dans le forum ASP.NET MVC
    Réponses: 5
    Dernier message: 21/06/2013, 15h03
  2. Réponses: 3
    Dernier message: 09/07/2009, 11h25
  3. [DOM] Comment remplir un champ de type array via Javascript ?
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 29/04/2008, 13h50
  4. [WebForms][2.0]Accéder aux élément DropDownlist via Javascript
    Par steelidol dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 21/10/2005, 16h01
  5. Réponses: 6
    Dernier message: 04/07/2005, 12h32

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