Javascript 未提交带有ckeditor textarea的Symfony 4表格

Javascript 未提交带有ckeditor textarea的Symfony 4表格,javascript,symfony,ckeditor,symfony4,ckeditor5,Javascript,Symfony,Ckeditor,Symfony4,Ckeditor5,我需要在我的网站上使用所见即所得编辑器。 我使用symfony4 我已尝试使用ckeditor 5 CDN() 视图运行良好,但未提交symfony表单。(textareatype可能会终止表单,因为使用ckeditor,表单会被更改为许多div,textarea部分可能会被视为空白) 这是表单中文本区域的代码 ->add('content', TextareaType::class, [ 'label' => "Content label",

我需要在我的网站上使用所见即所得编辑器。 我使用symfony4

我已尝试使用ckeditor 5 CDN()

视图运行良好,但未提交symfony表单。(textareatype可能会终止表单,因为使用ckeditor,表单会被更改为许多div,textarea部分可能会被视为空白)

这是表单中文本区域的代码

->add('content', TextareaType::class, [
            'label' => "Content label",
            'required' => true,
            'attr' => [
                'class' => "ckeditor"
             ]
        ])
以及脚本的代码

<script>
    ClassicEditor
        .create( document.querySelector( '.ckeditor' ) )
        .catch( error => {
            console.error( error );
        } );
</script>

分类编辑器
.create(document.querySelector('.ckeditor'))
.catch(错误=>{
控制台错误(error);
} );

谢谢。使用一个简单的wysiwyg编辑器是多么困难,这是无可救药的

编辑:此答案适用于ckeditor 4,而不是5

ckeditor未实时更新字段。在提交表单之前,需要调用updateElement ckeditor函数

请参阅:

我找到了解决方案。 我强调我使用的是CKEditor 5

ClassicEditor
        .create( document.querySelector( '.ckeditor' ) )
        .then( editor => {
            theEditor = editor;
        } )
        .catch( error => {
            console.error( error );
        } );

    document.getElementById("news_submit").addEventListener("click", function() {
        theEditor.updateSourceElement();
    });

该方法现在是使用CKEditor 5的“updateSourceElement”。

嘿,谢谢你的回答。不幸的是,我在控制台“ReferenceError:CKEDITOR未定义”中遇到了一个错误。问题是关于CKEDITOR 5的,而不是关于CKEDITOR 4的。
ClassicEditor
        .create( document.querySelector( '.ckeditor' ) )
        .then( editor => {
            theEditor = editor;
        } )
        .catch( error => {
            console.error( error );
        } );

    document.getElementById("news_submit").addEventListener("click", function() {
        theEditor.updateSourceElement();
    });