PS:标红处为重点。
1. 使用A标签提交表单:
<form name="frm" action="demo.php" method="post">
详细 内容:<textarea name="content" style="width:800px;height:400px;visibility:hidden;"></textarea><br>
<a href="#" οnclick="Javascript:frm.submit()">提交</a>
</form>
把上面A标签代码改成下列即可,
提交前需要执行editor.sync(),editor是K.create返回的对象。
<a href="#" onclick="Javascript:editor.sync();frm.submit();">提交</a>
注意:提交表单的命名(标蓝色处)要一致。
2.检查form标签放在table和tr之间,如果是这样的话form自动绑定事件可能有问题。解决方法是,提交时请执行一下editor.sync()。
具体实例如下:
<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();操作。
发布此文章是为了给大家提供一种快速的解决方式,官方上也有此解决问题的方式,但都是只字片语,此问题折腾了我几个小时,不希望大家也在此问题上被阻挡。
如有不明白处,可以给本人留言,本人愿与大家共学习,共进步。