problème avec TinyMCE dans un formulaire s oumis via AJAX

Bonjour,

Je rencontre le problème suivant avec TinyMCE dans mon application
Rails.

J’ai un formulaire d’édition qui est soumis en Ajax (via
remote_form_for),
il contient un text area TinyMCE. Le formulaire proprement dit est
contenu
dans un partial invoqué depuis la vue edit.html.erb :

<%= render :partial => "edit_form", :locals => {:user => @user} %>)

Dans mon fichier update.js.rjs je met à jour ce formulaire avec
page.replace_html “edit_form”, :partial => “edit_form”, :locals =>
{:user =>
@user}

Lors du premier accès à la page d’édition, le text area s’affiche bien
avec
l’éditeur TinyMCE. Cependant lorsque je soumet le formulaire, le
update.js.rjs est bien exécuté mais je perds l’éditeur TinyMCE sur le
text
area. J’ai appliqué la solution proposée sur
http://techblog.daveastels.com/tag/ajax/ en ajoutant en fin de
formulaire

mais sans succès.

Code : http://pastie.org/554179
Environnement : Rails 2.3.3, TinyMCE 3.2.4.1, Firefox 3.5.1

Mes compétences en JavaScript sont assez limitées, aussi je bloque
depuis un
moment sans trouver de solution.

Toute aide serait la bienvenue :slight_smile:

Florent

Bonjour Florent,

TinyMCE nécessite l’emploi d’une méthode “init”, laquelle est
utiliséeune seule fois au chargement de la page et ajoute tout ce qu’il faut
aux bons textareas.

Ton problème c’est qu’en rechargeant un bloc en ajax, l’init est déjà
passé, et par conséquent les nouveaux textareas ne sont pas gérés par
le plugin TinyMCE.

Dans le lien que tu donnes, le développeur donne une solution à coups
de triggers mais ça reste assez galère à mettre en place.

Il a rencontré un autre problème (la nécessité de toucher au DOM pour
connecter/déconnecter le textarea), décrit ici :

Attention, tout de même, ce sont des articles qui datent de 2006.

N’ayant pas déjà réalisé la chose, désolé de ne pas pouvoir t’aider
d’avantage.


Julien Vignolles

Disons que là c’est un cas où tu as intérêt à t’intéresser au JavaScript
ou
à avoir quelqu’un de ton équipe qui s’y intéresse. Si tu veux faire du
client léger riche avec de l’AJAX, de toute façon tu ne vas pas avoir
longtemps le choix, Rails va bien te cacher quelques trucs triviaux mais
c’est tout, et un éditeur riche combiné à de l’AJAX c’est pas trivial.

Michel B.

2009/7/22 Meshak [email protected]

Merci Julien et Michel pour vos réponses, c’est un peu ce que je
craignais
:wink:

Bon je vais donc m’atteler à l’apprentissage de JavaScript quand j’aurai
le
temps, d’ici-là l’AJAX avec TinyMCE attendra…

Florent

Le 22 juillet 2009 04:27, Michel B.
[email protected] a
écrit :