2016-05-18 2 views
0

Моя проблема:Laravel - получить значение текстовой из поля зрения в TinyMCE

Все появляется в поле зрения, как и ожидалось, но как только пользователь редактирует текстовое поле, я хочу, чтобы затем повторно загрузить его базы данных. Тем не менее, внутри контроллера я не могу get текст в текстовой области.

Текущий HTML создан в рамках моего зрения:

{!! Form::open(array('route' => 
    array('updateReport', $report->first()->id), 'role'=>'form','id'=>'updateReport')) !!} 

<textarea class="form-control" id="report" name="report" rows="15"> 
    {{ $report->first()->html }}</textarea> 

<button type="submit" class="btn btn-labeled btn-success" aria-hidden="true"> 
    <span class="btn-label"> 
     <i class="glyphicon glyphicon-save"></i></span> Update Report</button> 

{!! Form::close() !!} 
раздел

Javascript инициализацию TinyMCE:

<script type="text/javascript"> 
    tinymce.init({ 
    selector: '#report', 
    menubar: false, 
    browser_spellcheck: true, 
    }); 
</script> 

Я пробовал:

Input::all() and Input::get('report') - оба retur n null.

Как я могу получить необработанный HTML-код, который был недавно отредактирован и сохранен «за кулисами», конечно, должен быть простой способ?

Большое спасибо заранее.

+0

Не было предоставлено 'tinyMCE.getContent ('# report');' вернуть его? – camelCase

+0

Возможный дубликат [Получение значения из текстового поля TinyMCE] (http://stackoverflow.com/questions/6541782/getting-the-value-from-a-tinymce-textarea) – jmcgriz

+0

@camelCase, Как бы я мог вернуть это, хотя в моей форме, так что я могу получить доступ к нему в моем контроллере, пожалуйста? – Ben

ответ

0

Если есть только одно поле, чтобы беспокоиться о том, tinymce.activeEditor.getContent() должен сделать трюк

+0

Как я могу использовать это, чтобы вернуть текст, когда я нажимаю 'submit', пожалуйста? – Ben

+0

Вы можете перехватить форму submit с помощью javascript и записать это значение в скрытое поле (или обратно в исходное текстовое поле). Кроме того, существуют пакеты для интеграции tinyMCE с Laravel, такие как https://github.com/ktquez/laravel-tinymce – jmcgriz

+1

Вышеупомянутый пакет, который вы рекомендовали, работает как ожидалось. Большое спасибо, @jmcgriz! – Ben

0

Вы можете использовать setup перезвонить связать change события редактора, который будет инициировать ворота. Это помещает измененное содержимое обратно в исходное textarea, что позволяет разместить его в вашем скрипте.

<script type="text/javascript"> 
    tinymce.init({ 
    selector: '#report', 
    setup: function (editor) { 
     editor.on('change', function() { 
      tinymce.triggerSave(); 
     }); 
    }, 
    menubar: false, 
    browser_spellcheck: true 
    }); 
</script> 
Смежные вопросы