文本未从 Laravel 中的 Summernote 存储

Posted

技术标签:

【中文标题】文本未从 Laravel 中的 Summernote 存储【英文标题】:Text not storing from summernote in Laravel 【发布时间】:2016-11-28 16:38:25 【问题描述】:

我想将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>

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

它工作但数据未保存在表中。我的路线文件:laravel.io/bin/vB61v【参考方案2】:

在您提交表单之前,您必须使用 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-&gt;input('emailmessage')在你的laravel控制器中获取数据

【讨论】:

sry 但仍然无法正常工作。我的查看代码:laravel.io/bin/Gy2Bm 我的 js 代码:laravel.io/bin/bEom5【参考方案3】:

如果它不起作用,请写下错误消息是什么,我已经修改了你的 javascript 代码,用实际的表单 ID 替换 yourformid 并尝试,我假设你有一个在 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() 

【讨论】:

我收到以下错误:` Uncaught TypeError: $(...).code is not a function(anonymous function) @ myplace:1565 dispatch @ jquery-1.10.0.min.js :5 v.handle @ jquery-1.10.0.min.js:5` 请在var estado = $('#estado').code();前加上这行代码加上$('#estado').destroy();试试, error : Uncaught TypeError: $(...).destroy is not a function 我认为它的 $('#estado').summernote('destroy');但仍然是同样的错误:未捕获的 TypeError: $(...).code is not a function 尝试将您的夏季笔记版本更改为最新版本,夏季笔记文档中建议的 jquery 版本,

以上是关于文本未从 Laravel 中的 Summernote 存储的主要内容,如果未能解决你的问题,请参考以下文章

POST 路由未从根路径 Laravel 5.2 中列出

Laravel 会话文件未从 framework/sessions 文件夹中清除

程序未从文本文件 c++ 中打印出字符串

当屏幕未从 Firebase 调用数据时如何显示文本小部件

Evernote PHP SDK 未从 API 返回任何结果

未从Main.Storyboard加载的翻译(英语)