Laravel - 从TinyMCE

时间:2016-05-18 20:54:41

标签: javascript php laravel tinymce

我的问题:

所有内容都按预期显示在视图中,但是一旦用户编辑了文本字段,我就会将其重新上传到数据库。但是,在控制器中,我无法get' textarea'中的文字。

在我的视图中设置的当前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() !!}

初始化TinyMCE的Javascript部分:

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

我尝试过:

Input::all() and Input::get('report') - 都返回null

如何获得新编辑和存储的原始HTML&#34;在幕后&#34;,肯定必须有一个简单的方法?

非常感谢提前。

2 个答案:

答案 0 :(得分:0)

如果只有一个字段需要担心,tinymce.activeEditor.getContent()应该这样做

答案 1 :(得分: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>