用JavaScript学习CKEditor Textarea的Textarea值 我是JS的学习者,尽管我花了几个小时阅读教程,但我仍然遇到了很多问题,但是我仍然在确切地找出如何找到什么用时遇到了问题。

问题描述 投票:0回答:6
ckeditor api textareavalue

1,但我不知道自己要做什么。我不认为有人幻想帮助我吗?

我工作的代码是:

$('#CampaignTitle').bind("propertychange input", function() { $('#titleBar').text(this.value); });

<label for="CampaignTitle">Title</label> <input name="data[Campaign][title]" type="text" id="CampaignTitle" />

<div id="titleBar" style="max-width:960px; max-height:76px;"></div>

  我仍然在确切找出我如何找出什么问题时遇到问题
  用户正在输入CKEditor Textarea。

,这很容易。假设您的编辑器命名为“ Editor1”,这将为您的内容提供警报:

alert(CKEDITOR.instances.editor1.getData());
javascript ckeditor
6个回答
117
投票
http://alfonsoml.blogspot.com/2011/03/onchange-event-for-ckeditor.html

Instead,我建议设置一个计时器,该计时器将不断使用Textarea的值不断更新您的第二个DIV:

timer = setInterval(updateDiv,100); function updateDiv(){ var editorText = CKEDITOR.instances.editor1.getData(); $('#trackingDiv').html(editorText); }

这个似乎很好。这是清晰的整个事情:
<textarea id="editor1" name="editor1">This is sample text</textarea>

<div id="trackingDiv" ></div>

<script type="text/javascript">
    CKEDITOR.replace( 'editor1' );

    timer = setInterval(updateDiv,100);
    function updateDiv(){
        var editorText = CKEDITOR.instances.editor1.getData();
        $('#trackingDiv').html(editorText);
    }
</script>

至少在CKEditor 4.4.5时,您可以为编辑器内容的每个更改设置一个侦听器,而不是运行计时器:

CKEDITOR.on("instanceCreated", function(event) { event.editor.on("change", function () { $("#trackingDiv").html(event.editor.getData()); }); });

我意识到这对于OP来说可能为时已晚,并且没有显示为正确的答案或有任何选票(尚未表现出),但我认为我会为将来的读者更新帖子。
    

simply执行
CKEDITOR.instances[elementId].getData();

18
投票

您可以将功能集成在jQuery

id = id

并作为参数传递ckeditor元素ID


11
投票

我发现了为CKEditor5
工作的代码之后发现

var campaign_title_value = $().CKEditorValFor('CampaignTitle');

    


5
投票

ClassicEditor .create( document.querySelector( '#editor' ) ) .then( editor => { editor.model.document.on( 'change:data', () => { editorData = editor.getData(); } ); } ) .catch( error => { console.error( error ); } );

如果您真的想要一个文本方面,将您的输入类型文本更改为此

$("#CampaignTitle").bind("keyup", function() { $("#titleBar").text($(this).val()); });

希望它有帮助
    

3
投票
document.getElementsByClassName(“ ck-content”)[0] .innerhtml;

您可以添加以下代码:
CKEditor字段数据将通过每次点击存储在$('#Element_id')。val()中。我已经使用了该方法,它运行良好。 ckeditor字段数据将被保存实时,并准备好发送。

<textarea id="CampaignTitle"></textarea>

0
投票

$().click(function(){ $('#ELEMENT_ID').val(CKEDITOR.instances['ELEMENT_ID'].getData()); });
    

© www.soinside.com 2019 - 2024. All rights reserved.