KindEditor编辑器无法获得提交的数据

来源:互联网 发布:mac book pro 型号 编辑:程序博客网 时间:2024/05/01 14:08
以下列举KindEditor4X几处问题及解决方法:

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="#" onclick="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();操作。


发布此文章是为了给大家提供一种快速的解决方式,官方上也有此解决问题的方式,但都是只字片语,此问题折腾了我几个小时,不希望大家也在此问题上被阻挡。

如有不明白处,可以给本人留言,本人愿与大家共学习,共进步。

欢迎访问我的技术群425783133

0 0
原创粉丝点击