當用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>