在变化事件中自动保存TinyMce编辑器的内容(使用laravel 7)?

问题描述 投票:0回答:1

我想自动保存tinyMce编辑器的内容。

我使用的是tinmce 5.2.2版本和laravel V7。

在app.js中配置tinymce

require('./bootstrap');
require('tinymce/themes/silver');
require('tinymce/plugins/image');
require('tinymce/plugins/code');
require('tinymce/plugins/save');


import tinymce from 'tinymce';
tinymce.init({

        selector:'textarea#inputQuestionTitle',
        height:400,
        setup: function(editor) {
                editor.on('Change Keyup', function () {
                            editor.save();
                            //tinyMCE.triggerSave()   <-- also tried
        });
    }

使用以下视图

@extends('dashboard.layout')
@section('content')

<form id='addQ' action="{{route('questions.store')}}" method="post" enctype="multipart/form-data" >
@csrf
  <div class="form-row align-items-center "  >
      <div class="col-md-12">
        <label class="sr-only" for="inputQuestionTitle">Title</label>
        <textarea  name="title" class="form-control mb-2 " id="inputQuestionTitle" placeholder="Question Title"> </textarea>
      </div>
  </div>


         <div class="form-row">
        <button type="submit" class="btn btn-primary mb-2">Add new category </button>
     </div>




</form>
<script type="text/javascript" src="{{asset('js/app.js')}}"></script>
<script type="text/javascript">
  $(function(){
    $('#addQ').submit(function(e){
       e.preventDefault();
      var frmdata = $(this).serialize();
      console.log(frmdata); 
    });
  });
</script>
@endsection

产出

Output of view and title field returns null

我曾用jquery来显示输入请求,并在输出标题字段中显示console.logAs,但没有返回任何值。

请告诉我如何自动保存tinymce编辑器的内容并通过输入请求发送。

我也试过在ajax的serialize()方法之前用tinymce.triggerSave()方法,这样输入请求就会接收到tinymce的内容,但是没有效果。

ajax laravel tinymce tinymce-5
1个回答
0
投票

而不是试图通过更新文本区域的方法来更新 triggerSave()save() 方法,当有人在编辑内容时,我就会把它放在 tinymce.triggerSave() 在提交页面的函数的最开始。 这将确保 triggerSave() 是在你从textarea中抓取内容之前直接调用的。

© www.soinside.com 2019 - 2024. All rights reserved.