Comment déterminer par programme nom de CKEditor exemple
J'ai ajouté un CKEditor instance par programmation de ma page dans le code-behind de mon ASP.NET page:
VB.NET:
itemEditor = New CkEditor
cell.Controls.Add(itemEditor)
... qui fonctionne très bien. Je peux obtenir le code HTML à la publication et à faire des trucs avec elle.
Cependant, je veux aussi faire quelque côté client des trucs avec elle, spécifiquement un élément sélectionné d'un autre contrôle, et de l'insérer dans le texte par la manipulation de la onchange
événement.
Alors, comment puis-je obtenir le nom de l'éditeur d'instance dans le JavaScript, afin que je puisse faire des trucs comme:
function GetCkText()
{
var htmlFromEditor = CKEDITOR.instances['editorName'].getData();
//do stuff with htmlFromEditor
}
OriginalL'auteur ChrisA | 2010-03-30
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez un éditeur de exemple:
Ici est ce que l'API JavaScript dit à propos de les instances.
Ici est une autre manière de définir la CKEditor. Ici, 'fck' est le champs de saisie de l'id:
Avis comment je suis alors en mesure de référence de l'instance à l'aide de
.fck
.Si vous savez est simple, la valeur de currentInstance est le HTML id de votre éditeur textarea. Exemple
currentInstance='editor1'
.est-il un moyen pour attribuer le nom de l'instance?? ... ... j'ai essayé
CKEDITOR.appendTo( "my_div" , {name:"my_editor"}, my_string )
voir mon edit je pense que cela peut répondre à vos question
intéressant ... qui semble ne PAS fonctionner pour
.appendTo
... mais fonctionne pour.replace
(comme vous l'a montré)OriginalL'auteur mcgrailm
Si vous n'avez qu'une seule instance et vous ne connaissez pas le nom de celui-ci.
OriginalL'auteur denov
Le code suivant:
fonctionne très bien pour moi.
OriginalL'auteur ppp
Bien j'ai trouvé un moyen... mais je ne l'aime pas beaucoup...
J'ai ajouté un Champ Caché de contrôle de la page, après l'ajout de l'éditeur, et de mettre de l'éditeur ClientId dans sa valeur:
.. et puis dans le JavaScript, je peux obtenir le champ caché, et d'où le nom de l'éditeur comme suit:
Mais c'est un peu inélégant, pour dire le moins. Quelqu'un a une meilleure façon?
OriginalL'auteur ChrisA
Si vous utilisez
CKEDITOR.appendTo(...)
, gardez à l'esprit que la ckeditor permet de créer un nom d'occurrence à l'interne. Ainsi, vous pouvez faire une requête pour que le nom immédiatement après la création, puis le stocker dans un endroit, et l'utiliser plus tard.par le chemin: le
CKEDITOR.replace(...)
méthode permet de définir un nom d'instance (voir réponse ci-dessus)OriginalL'auteur dsdsdsdsd
Si vous avez besoin de l'instance à partir d'un plugin, au moins dans la version 4+ vous pouvez le faire.
Ici, je suis désireux de connaître le nom du textarea j'ai appliqué ckeditor.
OriginalL'auteur Valamas