Не удалось получить значение формы Textarea с использованием ckeditor при первой отправке, но она работает для второй отправки - PullRequest
0 голосов
/ 07 февраля 2019

Я использую CKEditor текстовую область, которая задействована для формирования области.Мне нужно получить данные формы при отправке с помощью функции serializeArray() jQuery.При первой передаче возвращает значение ''.и после второй отправки возвращает правильное значение.Я заметил, что значение textarea обновляется не в первый раз, а во второй раз.

$("form").submit(function(e){
        e.preventDefault();

        // not sure if you wanted this, but I thought I'd add it.
        // get an associative array of just the values.
        var values = $(this).serializeArray();

        var datas = {};
        values.forEach(element => {
            datas[element['name']] = element['value'].replace(/<[^>]+>/g, '');
        });
});

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Пожалуйста, смотрите: https://ckeditor.com/docs/ckeditor4/latest/guide/dev_jquery.html и https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_Adapters_jQuery.html#method-val.

CKEditor имеет адаптер jQuery, который позволяет использовать как внутренний редактор API, так и методы jQuery.Чтобы получить HTML из редактора, пожалуйста, используйте:

$( '#editor1' ).val( )
0 голосов
/ 07 февраля 2019

Ckeditor - это библиотека jQuery, поэтому вы должны получить ее значение, используя приведенный ниже код

var desc = CKEDITOR.instances['DSC'].getData();

Или, если ваш экземпляр уже определен, вы можете получить значение, как показано ниже.

var editor = CKEDITOR.replace('editor');
alert(editor.getData());

Проверьте рабочий пример на https://codepen.io/rohitmittal/pen/jdYXGe

Вы должны получить все значения поля формы в форме сериализации вместо ckeditor.Если он получает значение во второй раз, я предполагаю, что он покажет последнее обновленное значение.Если вы обновите значение во второй раз, оно все равно покажет вам последнее значение, которое не было обновлено недавно.Поэтому я предпочитаю использовать вышеупомянутый синтаксис, чтобы получить значение ckeditor и добавить его в виде сериализованного массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...