ckeditor 4 добавляет дополнительный интервал при отправке данных - PullRequest
1 голос
/ 14 января 2020

Привет всем, я работаю над проектом, в котором мне нужно отправить некоторые HTML данные в базу данных, а затем показать их на странице, и я использую CKEditor 4 для этой цели

<script src="https://cdn.ckeditor.com/4.13.1/standard-all/ckeditor.js"></script>

все замечательно, кроме этих двух вопросов.

В ОЖИДАНИИ 1. Когда я ставлю HTML путем копирования-вставки из файла слова или даже если я набираю его и отправляю, данные отображаются на страница имеет гораздо большие промежутки между абзацами и т. д. c. когда я делаю тот же CKEditor 5, он отлично работает, но я не могу использовать CKEditor 5, так как я использую плагин, который работает только в версии 4

решено 2. когда я отправляю данные отправляются пустыми HTML, и если я отправляю их снова, данные отправляются. Я имею в виду, что значение textarea не отправляется на другую страницу при первой отправке.

мой код здесь

<textarea name="ques" class="form-control ckeditor" placeholder="Describe the question" id='richtext' style="height: 150px;"></textarea>


//script
CKEDITOR.replace('desc', {
  extraPlugins: 'mathjax',
  mathJaxLib: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML',
  height: 320
});

if (CKEDITOR.env.ie && CKEDITOR.env.version == 8) {
  document.getElementById('ie8-warning').className = 'tip alert';
}

Пожалуйста, посоветуйте мне, как исправить эти 2 проблемы. Я также опубликую свой ответ, если найду решение. Большое спасибо за любую помощь.

РЕДАКТИРОВАТЬ

Я исправил проблему с передачей данных этим ajax

    var richtext = document.getElementById('richtext');
CKEDITOR.replace('richtext', {
      on : {
            change: function ( evt )  {
            $(richtext).html(evt.editor.getData());
            }
        },
      extraPlugins: 'mathjax',
      mathJaxLib: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML',
      height: 320
    });

    if (CKEDITOR.env.ie && CKEDITOR.env.version == 8) {
      document.getElementById('ie8-warning').className = 'tip alert';
    }

ОБНОВЛЕННЫЕ проблемы

Точка 1, как упомянуто выше, и

Новая точка: Точка 2 была решена путем добавления вышеуказанного кода, но это происходит, когда я отправляю в первый раз, а затем, когда я не обновляю sh страницу и отправляю ее снова, она отправляет предыдущие данные, даже если я изменяю данные в textarea.

1 Ответ

0 голосов
/ 14 января 2020

Это то, что решило проблему

$(richtext).html(evt.editor.getData().replace(/(\r\n|\n|\r)/gm,"") ) ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...