Как я могу проверить, есть ли в CK Editor ввод с помощью JS / jQuery? - PullRequest
0 голосов
/ 14 февраля 2020

В моем приложении есть текстовая область, и я использовал для нее CK Editor. Теперь я хочу проверить, вводит ли пользователь что-то в него (кроме пробелов). Для этого было несколько методов. Но у меня ничего не получалось. Выдает неопределенную ошибку при использовании.

Textarea

<div class="form-group {{ $errors->has('template_content') ? 'has-error' : '' }}">
    {{ Form::label('template_content', 'Template Content') }}
    {{ Form::textarea('template_content', null, array('class' => 'form-control', 'id' => 'editor1', 
    'name' => 'editor1', 'required', 'data-error="Template content is required"', 'id' => 
   'templateContent')) }}
    {!! $errors->first('template_content', '<span class="help-block">:message</span>') !!}
    <div class="help-block with-errors"></div>
</div>

JS Функция

var a = CKEDITOR.instances["editor1"].getData();

    if (a == '') {
        //code to execute
    } else {
        //code to execute
    }

Ошибка

Uncaught TypeError: Невозможно прочитать свойство 'getData' из неопределенного

1 Ответ

1 голос
/ 14 февраля 2020

First

    {{ Form::textarea('template_content', null, array('class' => 'form-control', 'id' => 'editor1', 
    'name' => 'editor1', 'required', 'data-error="Template content is required"', 'id' => 
   'templateContent')) }}

здесь у вас есть два id s, ваш идентификатор текстовой области - templateContent. удалить 'id' => 'templateContent'

Во-вторых, это не наблюдатель! Он не будет обновлять вас в реальном времени. вам нужно как-то его запустить, например

<button id="test">get data</button>

$(document).ready(function() {
  $("#test").click(function() {
    var a = CKEDITOR.instances["editor1"].getData();

    console.log(a);
  });
});

Нажмите кнопку и проверьте консоль.

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