您现在的位置是:首页 > 其他

李清波 2017-03-30 其他 1926 复制当前网址

KindEditor:Ajax提交表单时获取不到HTML内容

当用Ajax提交表单时,KindEditor的内容获取不到,HTML数据获取不了


原因:当ajax提交时,KindEdito的HTML数据还没有同步到表单中来,那怎么去获取HTML数据呢?


---------------------------------------------------


KindEditor 4.x documentation:获取HTML数据


// 取得HTML内容

html = editor.html();


// 同步数据后可以直接取得textarea的value

editor.sync();

html = document.getElementById('editor_id').value; // 原生API

html = K('#editor_id').val(); // KindEditor Node API

html = $('#editor_id').val(); // jQuery


// 设置HTML内容

editor.html('HTML内容');


----------------------------------------------------


从这可看出,当Ajax提交表单时,textarea的value还是空的,需要使用sync()去同步HTML数据


那么在什么时候去同步,怎么同步?KindEditor同时提供了方法:


afterBlur


编辑器失去焦点(blur)时执行的回调函数。


数据类型: Function

默认值: 无


最后答案和解决办法:

<script type="text/javascript">
        KindEditor.ready(function (K) {
            window.editor = K.create('#AContent', {
                afterBlur: function () { this.sync(); }
            });
        });
</script>


文章来源:https://liqingbo.com/blog-1333.html

评论