J'ai un attribut imbriqué (discours) sous un modèle Speaker et j'utilise tinyMce pour permettre à un locuteur de remplir un formulaire de profil où il pourrait avoir un ou plusieurs discours qu'ils donnent. J'utilise les helpers d'attributs imbriqués de Rails 2.3 tels qu'utilisés dans le compte github d'exemple de forme complexe de Ryan Bates. La fonctionnalité tinyMce est idéale pour un "Discours" s'il est chargé par la page, mais pas pour un nouveau "Discours" chargé par AJAX sur "Ajouter un nouveau discours" (appelle un script insert_fields pour ajouter les champs du formulaire)Activer le mode tinyMce pour activer une nouvelle zone de texte insérée par AJAX (dans Rails)
le code tinymce sur la page est
<script src="/javascripts/tiny_mce/tiny_mce_src.js?1254270151" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
tinyMCE.init({
editor_selector : 'mceEditor',
language : 'en',
mode : 'textareas',
theme : 'simple'
});
//]]>
</script>
Et pour activer un champ de formulaire textarea, vous mettez class = "mceEditor" sur elle.
Existe-t-il un moyen d'activer tinyMce sur les nouveaux champs de formulaire Ajax insérés?
plug-in TinyMCE: http://github.com/kete/tiny_mce
je l'ai ajouté à fonctionner insert_fields , mais cela n'a pas créé le bon effet. function insert_fields (lien, méthode, contenu) { var new_id = new Date(). GetTime(); var regexp = new RegExp ("nouvelle_" + méthode, "g") $ (link) .up(). Insert ({ avant: content.replace (regexp, new_id) }); \t var new_editor = new tinymce.Editor (nouvel_id, { \t}); \t new_editor.render(); } –
Je ne suis pas ce que fait votre fonction. Si la méthode "new_" + est l'ID de la zone de texte nouvellement ajoutée, envoyez-la simplement au constructeur de l'éditeur. Je ne suis pas sûr que passer le temps dans fonctionnera réellement car il attend une chaîne qui est l'ID de la zone de texte dans le DOM – danivovich