<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.theodys.org/index.php/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Theodys.org - AJAX</title>
  <link>http://www.theodys.org/index.php/</link>
  <description>Le blog de theodys societe commerciale de service informatique a bordeaux, nous mettons à disposition des internautes quelques guides, tutoriels et autres tutos concernant généralement des problemes que nous avons pu avoir au cour de nos interventions developpements</description>
  <language>fr</language>
  <pubDate>Fri, 14 Nov 2008 15:02:33 +0100</pubDate>
  <copyright>Theodys</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Chargement et enregistrement dynamique de TinyMCE</title>
    <link>http://www.theodys.org/index.php/post/2007/02/11/Chargement-et-enregistrement-dynamique-de-TinyMCE</link>
    <guid isPermaLink="false">urn:md5:b9511496076cdeffa865cbe19b64e2ee</guid>
    <pubDate>Sun, 11 Feb 2007 13:02:00 +0100</pubDate>
    <dc:creator>mimi</dc:creator>
        <category>Programmation</category>
        <category>AJAX</category><category>Javascript</category><category>tinyMCE</category>    
    <description>&lt;p&gt;Pour certains de nos clients, j'ai utilisé &lt;a hreflang=&quot;en&quot; href=&quot;http://tinymce.moxiecode.com/&quot;&gt;tinyMCE&lt;/a&gt;
pour que ces derniers puissent modifier leurs pages, parmi les différents éditeurs de texte wysiwyg ,
nous avons choisi d'utiliser &lt;a hreflang=&quot;en&quot; href=&quot;http://tinymce.moxiecode.com/&quot;&gt;tinyMCE&lt;/a&gt;,
simple à mettre en place, et riche en fonctionnalités. De plus, avec l'avènement des technologies web 2.0 et
en particulier d'AJAX , nous utilisons pour les sites de nos clients le framework Javascript &lt;a hreflang=&quot;en&quot; href=&quot;http://developer.yahoo.com/yui/&quot;&gt;YUI&lt;/a&gt;
(Yahoo User Interface).&lt;/p&gt;
&lt;p&gt;Je ne détaillerais pas ici l'utilisation de &lt;a hreflang=&quot;en&quot; href=&quot;http://developer.yahoo.com/yui/&quot;&gt;YUI&lt;/a&gt;, ni de &lt;a hreflang=&quot;en&quot; href=&quot;http://tinymce.moxiecode.com/&quot;&gt;tinyMCE&lt;/a&gt;, pour cela je vous invite à lire les documentations  ...&lt;/p&gt;
&lt;p&gt;Du coup certains réglages s'imposent car la majorité du traitement de la page se fait maintenant coté client.&lt;br /&gt;
L'objet de cet article est donc d'expliquer comment charger de façon dynamique &lt;a hreflang=&quot;en&quot; href=&quot;http://tinymce.moxiecode.com/&quot;&gt;tinyMCE&lt;/a&gt;,
en Javascript.&lt;/p&gt;    &lt;hr /&gt;
&lt;h2&gt;Intégration des scripts&lt;/h2&gt;
&lt;p&gt;
La première chose à faire, est donc d'intégrer les fichiers js à votre page web:&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;xhtml&quot; name=&quot;code&quot;&gt;&amp;lt;head&amp;gt;
...
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/tiny_mce/tiny_mce.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/myScripts.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
...
&amp;lt;/head&amp;gt;
&lt;/textarea&gt;&lt;br /&gt;
&lt;p&gt;
Vous remarquerez que là je n'utilise pas encore &lt;a hreflang=&quot;en&quot; href=&quot;http://developer.yahoo.com/yui/&quot;&gt;YUI&lt;/a&gt;, mais seulement &lt;a hreflang=&quot;en&quot; href=&quot;http://tinymce.moxiecode.com/&quot;&gt;tinyMCE&lt;/a&gt;&lt;br /&gt;
J'insère aussi un fichier à moi : &quot;myScripts.js&quot;, c'est dans ce script que je placerais mes fonctions JS.
&lt;/p&gt;
&lt;h2&gt;Configuration de TinyMCE&lt;/h2&gt;
&lt;p&gt;
TinyMCE possède une floppée de réglages, je vous invite à lire la documentation pour personnaliser votre éditeur ...&lt;br /&gt;
Dans cet exemple j'utiliserais la configuration suivante :&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;js&quot; name=&quot;code&quot;&gt;tinyMCE.init({
mode : &quot;none&quot;,
theme : &quot;advanced&quot;,
language: &quot;fr&quot;,
width:&quot;650px&quot;,
relative_urls : false,
height:&quot;500px&quot;,
theme_advanced_toolbar_location : &quot;top&quot;,
theme_advanced_toolbar_align : &quot;left&quot;,
theme_advanced_path_location : &quot;bottom&quot;,
});
&lt;/textarea&gt;
&lt;h2&gt;Mise en place du chargement dynamique&lt;/h2&gt;
&lt;p&gt;On va ensuite creer une simple page web qui sur le clique d'un bouton, affche l'éditeur TinyMCE : &lt;a href=&quot;http://www.theodys.org/examples/tinyMCE/example1.html&quot; target=&quot;_blank&quot;&gt;Exemple 1&lt;/a&gt;&lt;br /&gt;
Code source de la page web :&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;xhtml&quot; name=&quot;code&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;TinyMCE : exemple 1&amp;lt;/title&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/yui/build/yahoo/yahoo.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/yui/build/connection/connection.js&quot;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;input type=&quot;button&quot; value=&quot;Lancer TinyMCE&quot; onclick=&quot;lanceTinyMCE();&quot; /&amp;gt;
&amp;lt;div id=&quot;myTinyMCE&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/textarea&gt;&lt;br /&gt;
&lt;p&gt;Code source du fichier myScripts.js :&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;JScript&quot; name=&quot;code&quot;&gt;tinyMCE.init({
mode : &quot;none&quot;,
theme : &quot;advanced&quot;,
language: &quot;fr&quot;,
width:&quot;650px&quot;,
relative_urls : false,
height:&quot;500px&quot;,
theme_advanced_toolbar_location : &quot;top&quot;,
theme_advanced_toolbar_align : &quot;left&quot;,
theme_advanced_path_location : &quot;bottom&quot;,
});
function lanceTinyMCE()
{
tinyMCE.execCommand(&quot;mceAddControl&quot;, false, &quot;myTinyMCE&quot;);
}
&lt;/textarea&gt;&lt;br /&gt;
&lt;p&gt;Voilà, un clique sur le bouton et tinyMCE se lance : &lt;a href=&quot;http://www.theodys.org/examples/tinyMCE/example1.html&quot; target=&quot;_blank&quot;&gt;Exemple 1&lt;/a&gt;&lt;br /&gt;
C'est un bon début, mais il il faut aussi pouvoir fermer l'&amp;amp;ecaute;diteur, et récupérer le contenu  ... Nous allons donc rajouter une fonction qui ferme l'éditeur ainsi qu'un bouton qui execute cette nouvelle fonction&lt;br /&gt;
Code de la page web :&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;xhtml&quot; name=&quot;code&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;TinyMCE : exemple 2&amp;lt;/title&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/tiny_mce/tiny_mce.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/myScripts.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;input type=&quot;button&quot; value=&quot;Lancer TinyMCE&quot; onclick=&quot;lanceTinyMCE();&quot; /&amp;gt; - &amp;lt;input type=&quot;button&quot; value=&quot;Fermer TinyMCE&quot; onclick=&quot;closeTinyMCE();&quot; /&amp;gt;
&amp;lt;div id=&quot;myTinyMCE&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/textarea&gt;&lt;br /&gt;
&lt;p&gt;Et celui du fichier myScripts.js : &lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;JScript&quot; name=&quot;code&quot;&gt;tinyMCE.init({
mode : &quot;none&quot;,
theme : &quot;advanced&quot;,
language: &quot;fr&quot;,
width:&quot;650px&quot;,
relative_urls : false,
height:&quot;500px&quot;,
theme_advanced_toolbar_location : &quot;top&quot;,
theme_advanced_toolbar_align : &quot;left&quot;,
theme_advanced_path_location : &quot;bottom&quot;,
});
function lanceTinyMCE()
{
tinyMCE.execCommand(&quot;mceAddControl&quot;, false, &quot;myTinyMCE&quot;);
}
function closeTinyMCE()
{
// On recupere le contenu :
var contenu = tinyMCE.getContent();
// On ferme tinyMCE
tinyMCE.execCommand(&quot;mceRemoveControl&quot;, false, &quot;myTinyMCE&quot;);
//on affiche le contenu dans le div ...
document.getElementById(&quot;myTinyMCE&quot;).innerHTML = contenu;
}
&lt;/textarea&gt;
Voir l'exemple 2 : &lt;a href=&quot;http://www.theodys.org/examples/tinyMCE/example2.html&quot; target=&quot;_blank&quot;&gt;Exemple 2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;
Donc maintenant, un clique sur le bouton &quot;Lancer tinyMCE&quot; va ouvrir l'éditeur, et si vous tapez du texte dans l'éditeur, puis vous cliquez sur &quot;Fermer tinyMCE&quot;, vous verrez votre texte dans s'afficher dans le div ...&lt;br /&gt;
De plus vous réaliserez qu'un second clique (apres avoir fait les étapes précédentes) sur &quot;Lancer tinyMCE&quot; vous aurez le contenu du div dans l'éditeur, c'est une fonctionnalité propre à tinyMCE.&lt;br /&gt;
Un bémol cependant, si vous faites plusieurs cliques sur &quot;Fermer tinyMCE&quot; sans avoir au préalable ouvert l'éditeur, vous allez perdre le contenu de votre div ... &lt;br /&gt;
Pour remedier à ce problème, j'utilise une variable &quot;globale&quot; qui me donnera l'état de l'éditeur.
Le code de la page html n'est pas modifier, par contre voici le code du fichier Javascript :&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;JScript&quot; name=&quot;code&quot;&gt;tinyMCE.init({
mode : &quot;none&quot;,
theme : &quot;advanced&quot;,
language: &quot;fr&quot;,
width:&quot;650px&quot;,
relative_urls : false,
height:&quot;500px&quot;,
theme_advanced_toolbar_location : &quot;top&quot;,
theme_advanced_toolbar_align : &quot;left&quot;,
theme_advanced_path_location : &quot;bottom&quot;,
});
var tinyMCE_on = false;
function lanceTinyMCE()
{
tinyMCE.execCommand(&quot;mceAddControl&quot;, false, &quot;myTinyMCE&quot;);
tinyMCE_on = true;
}
function closeTinyMCE()
{
if (tinyMCE_on)
{
// On recupere le contenu :
var contenu = tinyMCE.getContent();
// On ferme tinyMCE
tinyMCE.execCommand(&quot;mceRemoveControl&quot;, false, &quot;myTinyMCE&quot;);
tinyMCE_on = false;
//on affiche le contenu dans le div ...
document.getElementById(&quot;myTinyMCE&quot;).innerHTML = contenu;
}
}
&lt;/textarea&gt;
&lt;p&gt;Voir l'exemple 3 : &lt;a href=&quot;http://www.theodys.org/examples/tinyMCE/example3.html&quot; target=&quot;_blank&quot;&gt;Exemple 3&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Ma variable : tinyMCE_on, est initialisée à &quot;false&quot;, car lors du lancement de la page l'éditeur n'est pas actif, ensuite, dès que j'initialise l'éditeur, je change la valeur de cette variable à &quot;true&quot; car l'éditeur est ouvert.&lt;br /&gt;
Puis, lorsque je ferme tinyMCE, je repasse la valeur false à ma variable ... et ainsi de suite. Du coup plusieurs cliques sur &quot;Fermer TinyMCE&quot; ne changeront pas le contenu de mon div !&lt;/p&gt;
&lt;h2&gt;Sauvegarder le contenu en AJAX&lt;/h2&gt;
&lt;h3&gt;Mise en place&lt;/h3&gt;
&lt;p&gt;
Notre exemple est pas mal, mais ce serait quand même mieux, de pouvoir enregistrer les modification coté serveur, du coup nous utiliserons YUI pour poster le contenu de l'éditeur sur le serveur en AJAX.&lt;br /&gt;
Le truc, c'est que le contenu peut être relativement volumineux il est donc préférable d'utilser la méthode &quot;POST&quot; pour envoyer les infos au serveur.&lt;/p&gt;
&lt;p&gt;Nous devons, dans un premier temps, inclure les fichiers nécessaires à YUI :&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;xhtml&quot; name=&quot;code&quot;&gt;&amp;lt;head&amp;gt;
...
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/tiny_mce/tiny_mce.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/yui/build/yahoo/yahoo.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/yui/build/connection/connection.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/myScripts.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
...
&amp;lt;/head&amp;gt;
&lt;/textarea&gt;&lt;br /&gt;
&lt;p&gt;J'ai donc simplement rajouté le fichier yahoo.js qui initialise YUI, et connection.js qui permet d'utiliser AJAX.&lt;br /&gt;
Etant donné su'il est préférable d'utiliser &quot;POST&quot; il faut donc créer un fomulaire sur notre page, voici le contenu de la page web :&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;xhtml&quot; name=&quot;code&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt;
&amp;lt;title&amp;gt;TinyMCE : Exemple 4 : Utilisation d'AJAX&amp;lt;/title&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/tiny_mce/tiny_mce.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/yui/build/yahoo/yahoo.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/yui/build/connection/connection.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.theodys.org/index.php/post/2007/02/11/./scripts/myScripts.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h1&amp;gt;Exemple 4 : TinyMCE et AJAX&amp;lt;/h1&amp;gt;
&amp;lt;form id=&quot;myFormExample&quot; method=&quot;POST&quot;&amp;gt;
&amp;lt;input type=&quot;button&quot; value=&quot;Lancer TinyMCE&quot; onclick=&quot;lanceTinyMCE();&quot; /&amp;gt; - &amp;lt;input type=&quot;button&quot; value=&quot;Fermer TinyMCE&quot; onclick=&quot;closeTinyMCE();&quot; /&amp;gt;
&amp;lt;textarea name=&quot;myContent&quot; id=&quot;myTinyMCE&quot; style=&quot;visibility:hidden;&quot;&amp;gt;&amp;lt;/textarea&amp;gt;
&amp;lt;/form&amp;gt;
&amp;lt;div id=&quot;contenuAfficher&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/textarea&gt;
&lt;p&gt;Vous remarquerez, qu'au lieu d'utiliser un div pour afficher l'éditeur, j'utilse maintenant un &quot;textarea&quot; plutôt q'un &quot;div&quot;.&lt;br /&gt;
De plus, je rajoute du style à la balise pour cacher le textarea par défaut, ensuite j'ai rajouté un div pour pouvoir afficher le contenu de l'éditeur.&lt;br /&gt;
Une chose importante, il n'y a pas d'attribut &quot;action&quot; dans mon fomulaire, car l'envoie du fomulaire se fera en AJAX.&lt;br /&gt;
Il faut maintenant modifier un peut le code JavaScript pour gérer notre nouvelle configuration :&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;JScript&quot; name=&quot;code&quot;&gt;tinyMCE.init({
mode : &quot;none&quot;,
theme : &quot;advanced&quot;,
language: &quot;fr&quot;,
width:&quot;650px&quot;,
relative_urls : false,
height:&quot;500px&quot;,
theme_advanced_toolbar_location : &quot;top&quot;,
theme_advanced_toolbar_align : &quot;left&quot;,
theme_advanced_path_location : &quot;bottom&quot;,
});
var tinyMCE_on = false;
function lanceTinyMCE()
{
tinyMCE.execCommand(&quot;mceAddControl&quot;, false, &quot;myTinyMCE&quot;);
tinyMCE_on = true;
}
function closeTinyMCE()
{
if (tinyMCE_on)
{
// On recupere le contenu :
var contenu = tinyMCE.getContent();
// On ferme tinyMCE
tinyMCE.execCommand(&quot;mceRemoveControl&quot;, false, &quot;myTinyMCE&quot;);
tinyMCE_on = false;
//on affiche le contenu dans le div ...
document.getElementById(&quot;myTinyMCE&quot;).value = contenu;
document.getElementById(&quot;contenuAfficher&quot;).innerHTML = contenu;
}
}
&lt;/textarea&gt;
&lt;p&gt;Voir l'exemple 4 : &lt;a href=&quot;http://www.theodys.org/examples/tinyMCE/example4.html&quot; target=&quot;_blank&quot;&gt;Exemple 4&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;color:red; font-weigth:bolder;&quot;&gt;NOTE DE MISE A JOUR:&lt;br /&gt;
A partir de la version 3.0 de TinyMCE, il ne faut plus utiliser la ligne :&lt;br /&gt;
tinyMCE.getContent();&lt;br /&gt;
mais : &lt;br /&gt;
tinyMCE.activeEditor.getContent();
 &lt;/p&gt;
&lt;p&gt;Vous remarquerez ici, que la seule chose que j'ai modifié sont les deux lignes suivantes :&lt;/p&gt;
&lt;textarea rows=&quot;3&quot; cols=&quot;60&quot; class=&quot;JScript&quot; name=&quot;code&quot;&gt;		document.getElementById(&quot;myTinyMCE&quot;).value = contenu;
document.getElementById(&quot;contenuAfficher&quot;).innerHTML = contenu;
&lt;/textarea&gt;
&lt;p&gt;En gros je place le contenu de l'éditeur à la fois dans le textarea et dans le div, le textarea pour pouvoir poster mon formulaire, et le div pour simplement afficher le contenu !&lt;/p&gt;
&lt;h3&gt;Envoi du formulaire&lt;/h3&gt;
&lt;p&gt;Là, j'ai deux solutions, soit j'envoi directement le contenu à mon script php lors de la fermeture de tinyMCE, soit je cré un autre bouton pour transmettre le document créé au serveur, nous allons utiliser la première solution :&lt;/p&gt;
&lt;p&gt;Modifions notre fichier JavaScript :&lt;/p&gt;
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; class=&quot;JScript&quot; name=&quot;code&quot;&gt;tinyMCE.init({
mode : &quot;none&quot;,
theme : &quot;advanced&quot;,
language: &quot;fr&quot;,
width:&quot;650px&quot;,
relative_urls : false,
height:&quot;500px&quot;,
theme_advanced_toolbar_location : &quot;top&quot;,
theme_advanced_toolbar_align : &quot;left&quot;,
theme_advanced_path_location : &quot;bottom&quot;,
});
var tinyMCE_on = false;
function lanceTinyMCE()
{
tinyMCE.execCommand(&quot;mceAddControl&quot;, false, &quot;myTinyMCE&quot;);
tinyMCE_on = true;
}
function closeTinyMCE()
{
if (tinyMCE_on)
{
// On recupere le contenu :
var contenu = tinyMCE.getContent();
// On ferme tinyMCE
tinyMCE.execCommand(&quot;mceRemoveControl&quot;, false, &quot;myTinyMCE&quot;);
tinyMCE_on = false;
// on place le contenu dans le textarea
document.getElementById(&quot;myTinyMCE&quot;).value = contenu;
// On appelle la fonction d'envoie du formulaire :
postFormulaire();
//on affiche le contenu dans le div ...
document.getElementById(&quot;contenuAfficher&quot;).innerHTML = contenu;
}
}
function postFormulaire()
{
// on recupere le fomulaire
var monFormulaire = document.getElementById('myFormExample');
// on le defini pour l'envoie à YAHOO
YAHOO.util.Connect.setForm(monFormulaire);
// on l'envoie
YAHOO.util.Connect.asyncRequest('POST', 'example5.php', callBack);
}
var callBack= {
success:function(o){
alert(o.responseText);
},
failure:function(o){
alert(&quot;Erreur, lors de l'échange avec le serveur&quot;);
}
}
&lt;/textarea&gt;
Voici le code PHP, du fichier example5.php :
&lt;textarea rows=&quot;10&quot; cols=&quot;60&quot; name=&quot;code&quot; class=&quot;php&quot;&gt;&amp;lt;?php
if (isset($_REQUEST[&quot;myContent&quot;]) &amp;amp;&amp;amp; $_REQUEST[&quot;myContent&quot;] != &quot;&quot;)
{
if (file_put_contents(&quot;test.html&quot;, $_REQUEST[&quot;myContent&quot;]))
{
echo &quot;Le fichier a bien ete enregistre&quot;;
}else{
echo &quot;Erreur lors de l'enregistrement du fichier sur le serveur&quot;;
}
}else{
echo &quot;Erreur, le contenu est vide&quot;;
}
?&amp;gt;
&lt;/textarea&gt;
&lt;p&gt;Voir l'exemple 5 : &lt;a href=&quot;http://www.theodys.org/examples/tinyMCE/example5.html&quot; target=&quot;_blank&quot;&gt;Exemple 5&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Voilà, vous pouvez maintenant personnaliser le code à votre convenance pour correspondre au mieux à vos besoins.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Ce petit est donc maintenant terminé ! &lt;br /&gt;
Laissez moi vos commentaires !&lt;/p&gt;
&lt;h3&gt;Mimi&lt;/h3&gt;
&lt;!--  END OF PAGE  --&gt;
&lt;script language=&quot;javascript&quot;&gt;
dp.SyntaxHighlighter.HighlightAll('code');
&lt;/script&gt;</description>
    
    
    
          <comments>http://www.theodys.org/index.php/post/2007/02/11/Chargement-et-enregistrement-dynamique-de-TinyMCE#comment-form</comments>
      <wfw:comment>http://www.theodys.org/index.php/post/2007/02/11/Chargement-et-enregistrement-dynamique-de-TinyMCE#comment-form</wfw:comment>
      <wfw:commentRss>http://www.theodys.org/index.php/feed/rss2/comments/14</wfw:commentRss>
      </item>
    
</channel>
</rss>