我想自动保存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
产出
我曾用jquery来显示输入请求,并在输出标题字段中显示console.logAs,但没有返回任何值。
请告诉我如何自动保存tinymce编辑器的内容并通过输入请求发送。
我也试过在ajax的serialize()方法之前用tinymce.triggerSave()方法,这样输入请求就会接收到tinymce的内容,但是没有效果。
而不是试图通过更新文本区域的方法来更新 triggerSave()
或 save()
方法,当有人在编辑内容时,我就会把它放在 tinymce.triggerSave()
在提交页面的函数的最开始。 这将确保 triggerSave()
是在你从textarea中抓取内容之前直接调用的。