Laravel 中未存储来自 summernote 的文本

Text not storing from summernote in Laravel

我想将 summernote (summernote.org) 整合到一个文本区域中并保存在数据库中。

我的查看代码:

<div class="col-lg-3"><label>Estado</label>
<textarea name="textfield4" id="textfield4"></textarea></div>
 <button type="submit" class="btn btn-success">Save</button>
<input type="hidden" value="{{Session::token()}}" name="_token">

我的js代码:

              <script>
           $('#textfield4').summernote({

            height:200
           });
             </script>

您应该在 .ready() 函数中编写代码

$(document).ready(function() {
  $('#textfield4').summernote();
});

在提交表单之前,您必须使用 div 来渲染夏季并用夏季备注内容填充隐藏文本区域,请参见下面的示例,

<div class="panel-body no-padding">
                <textarea  style="display: none;" name="emailmessage" id="emailmessage"></textarea>
                <div class="editor-summernote" id="emailmessage_editor"></div>
            </div>

然后将 div 转换为呈现夏季笔记编辑器,如下所示

$('.editor-summernote').summernote({
            toolbar: [
                ['headline', ['style']],
                ['style', ['bold', 'italic', 'underline', 'superscript', 'subscript', 'strikethrough', 'clear']],
                ['textsize', ['fontsize']],
                ['alignment', ['ul', 'ol', 'paragraph', 'lineheight']],
            ],
            height: 120
        });

在提交表单进行服务器端处理之前,使用 jquery 将夏季笔记内容填充到隐藏文本区域,

   $("#btn-send-message").on("click",function(event) {

            var email_body = $('#emailmessage_editor').code();
            $("#emailmessage").html(email_body); //populate text area
   });

最后你可以通过$request->input('emailmessage')

获取你的laravel控制器中的数据

如果它不起作用,请告诉我错误消息是什么,我已经修改了您的 javascript 代码,将您的表单 ID 替换为实际表单 ID 并尝试,我假设您有一个表单,其中定义了操作html、

$(function(){

$('#estado').summernote(
{

  toolbar: [
                ['headline', ['style']],
                ['style', ['bold', 'italic', 'underline', 'superscript', 'subscript', 'strikethrough', 'clear']],
                ['textsize', ['fontsize']],
                ['alignment', ['ul', 'ol', 'paragraph', 'lineheight']],
            ],

height:120
});

$("#yourformid").submit(function(e) {
     var self = this;
     e.preventDefault();

     var estado = $('#estado').code();
     $("#textfield4").html(estado); //populate text area
     self.submit();
     return false; 
});
});

确保您的令牌被传递或使用以下方法生成令牌,

<input type="hidden" name="_token" value="{{ csrf_token()