Javascriptを使用してCKEditor
に値を設定する方法を疑問に思っていますか?
私は以下を試しましたが、どちらも機能しません...
document.[form name].[textarea name].value=data;
$('#textareaID').val(data);
ただし、これらは両方ともエディターを適用しなくても機能します。エディターでこれを行う方法はありますか?
CKEditorメソッドを使用します setData()
:
CKEDITOR.instances[**fieldname**].setData(**your data**)
insertHtml()
およびinsertText()
メソッドは、エディターウィンドウにデータを挿入し、既にあるものに追加します。
ただし、エディターのコンテンツ全体を置き換えるには、 setData()
を使用します。
insertHtml() または insertText() メソッドを使用します。
私は以下のコードを使用しましたが、説明としてうまく機能しています->
CKEDITOR.instances.mail_msg.insertText(obj["template"]);
ここ-> CKEDITOR
->編集者の名前、mail_msg
->テキストエリアのID(ckeditorをバインドする先)、obj["template"]
->はuがバインドしたい値です
これを試して
CKEDITOR.instances['textareaId'].setData(value);
<textarea id="editor1" name="editor1">This is sample text</textarea>
<div id="trackingDiv" ></div>
<script type="text/javascript">
CKEDITOR.replace( 'editor1' );
</script>
これを試してみましょう..
更新:
データを設定するには:
最初にインスタンスを作成::
var editor = CKEDITOR.instances['editor1'];
次に、
editor.setData('your data');
または
editor.insertHtml('your html data');
または
editor.insertText('your text data');
エディターからデータを取得します::
editor.getData();
CKEditorで特定のpara HTMLデータを変更する場合。
var html = $(editor.editable.$);
$('#id_of_para',html).html('your html data');
これらは私がCKEditorで知っている可能な方法です
現時点でCKEditor 4+がリリースされたので、それを使用する必要があります。 ekeditor 4 setData documentation
_CKEDITOR.instances['editor1'].setData(value);
_
ここで_editor1
_はテキストエリアIdです。
insertHtml('html data')
やinsertText('text data')
などの古いメソッドも正常に機能します。
そして、データの使用を取得する
_var ckdata = CKEDITOR.instances['editor1'].getData();
var data = CKEDITOR.instances.editor1.getData();
_
エディターデータを設定します。データは生の形式(HTML)で提供する必要があります。 CKEDITOR.instances.editor1.setData( 'Put your Data。'); このページを参照
setData().
に渡す文字列から改行を削除するように注意してください。そうしないと、例外がスローされます。
また、それを行った場合でも、getData(),
CKEditorを使用してそのデータを再度取得すると、改行が戻されることに注意してください。