如下列举KindEditor4X几处问题及解决方法: php
PS:标红处为重点。 css
1. 使用A标签提交表单: json
<form name="frm" action="demo.php" method="post">
详细 内容:<textarea name="content" style="width:800px;height:400px;visibility:hidden;"></textarea><br>
<a href="#" onclick="Javascript:frm.submit()">提交</a>
</form> 编辑器
把上面A标签代码改为下列便可, 布局
提交前须要执行editor.sync(),editor是K.create返回的对象。 post
<a href="#" onclick="Javascript:editor.sync();frm.submit();">提交</a> 学习
注意:提交表单的命名(标蓝色处)要一致。 this
2.检查form标签放在table和tr之间,若是是这样的话form自动绑定事件可能有问题。解决方法是,提交时请执行一下editor.sync()。 spa
具体实例以下: code
<link rel="stylesheet" href="kindeditor/themes/default/default.css" />
<link rel="stylesheet" href="kindeditor/plugins/code/prettify.css" />
<script charset="utf-8" src="kindeditor/kindeditor.js"></script>
<script charset="utf-8" src="kindeditor/lang/zh_CN.js"></script>
<script charset="utf-8" src="kindeditor/plugins/code/prettify.js"></script>
<script>
KindEditor.ready(function(K) {
var editor = K.create('#content', {
cssPath : 'kindeditor/plugins/code/prettify.css',
uploadJson : 'kindeditor/php/upload_json.php',
fileManagerJson : 'kindeditor/php/file_manager_json.php',
allowFileManager : true,
afterCreate : function() {
var self = this;
K.ctrl(document, 13, function() {
self.sync();
K('form[name=form1]')[0].submit();
});
K.ctrl(self.edit.doc, 13, function() {
self.sync();
K('form[name=form1]')[0].submit();
});
}
});
K('#form1').bind('submit', function() {
editor.sync();
});
});
</script>
<tr class="editTr">
<td class="editLeftTd">详细内容</td>
<td class="editRightTd">
<textarea id="content" name="content" style="width:800px;height:300px; visibility:hidden;"><?php echo $content; ?></textarea>
</td>
</tr>
以上是本人使用到的Js与样式,能够根据实际操做相应增减,注意样式与Js引用路径问题是否正确,
上书绿色处为文本域ID与Name对应操做,蓝色处为表单名称命名,紫色为表单ID命名,红色处的操做是为了给解决表单布局的BUG所作的处理,给ID为#form1绑定editor.sync();操做。
发布此文章是为了给你们提供一种快速的解决方式,官方上也有此解决问题的方式,但都是只字片语,此问题折腾了我几个小时,不但愿你们也在此问题上被阻挡。
若有不明白处,能够给本人留言,本人愿与你们共学习,共进步。