正常情況,初始化layui富文本編輯器后,添加的內容也可以正常接收處理,通過ajax添加到數據庫中,但是在編輯修改的時候出現問題了:修改個別文字符號標點,提交后后台ajax回來的提示為內容未變化,也就是說剛才的修改操作提交的編輯器內容沒有改變
代碼如下:
<div class="layui-input-block"> <textarea id="content" name="content" autocomplete="off" lay-verify="content" placeholder="請輸入內容" class="layui-textarea fly-editor" style="height: 100px;">{$content|default=''}</textarea> </div>
//富文本編輯器自定義工具欄 layedit.build('content', { tool: ['strong','italic','face','underline','del', 'link', 'unlink', '|', 'left', 'center', 'right','b'] ,height: 150 })
看了官方文檔,也知道是數據異步提交未同步的原因,使用layedit.sync(index) 解決,但是就不知道怎么使用。在網上搜索了好長時間,嘗試無數次失敗后終於讓我看到了陽光:
在<textarea>標簽中加入lay-verify="content" 然后在form的表單自定義驗證中加入如下代碼即可
form.verify({ content: function(value) { return layedit.sync(index); } });
上面驗證代碼中有個index參數,需要在初始化富文本編輯器的時候設置下:
//富文本編輯器自定義工具欄 var index = layedit.build('content', { tool: ['strong','italic','face','underline','del', 'link', 'unlink', '|', 'left', 'center', 'right','b'] ,height: 150 })
經過上面兩步,就可以解決異步提交layui富文本編輯器數據不同步的問題了