主题: kindeditor 4 提交获取不到数据
作者: yaoyibetty, 发布日期: 2011-09-16 00:48:07, 浏览数: 8879

使用kindeditor 4 按照文档中 php 的demo 如果页面直接post 到一个php页面可以获取到数据  但是如果页面不是直接submit 而是先过一段js  然后再

 document.form1.act.value="add";
 document.form1.submit();

 

这样提交后 就得不到 对应 textarea 的数据了。 哪位高人指点一下如何解决。。。。

作者: Roddy, 发布日期: 2011-09-16 09:05:54
  • KindEditor的可视化操作在新创建的iframe上执行,代码模式下的textarea框也是新创建的,所以最后提交前需要将HTML数据同步到原来的textarea,editor.sync()函数会完成这个动作。
  • KindEditor在默认情况下自动寻找textarea所属的form元素,找到form后onsubmit事件里添加sync函数,所以用form方式提交数据,不需要手动执行sync()函数。
回复
作者: yaoyibetty, 发布日期: 2011-09-16 13:04:31

回复Roddy:

<script type="text/javascript">
  KindEditor.ready(function(K) {
   var editor1 = K.create('textarea[name="content1"]', {
    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();
     });
    }
   });
   prettyPrint();
  });

</script>

.......

<td> 
    <textarea name="content1" style="width:700px;height:200px;visibility:hidden;"><?php echo htmlspecialchars($htmlData); ?></textarea>
   </td>

 

 

<td height='40' colspan='2' align='center'><input name='Cancel0' type='button' id='Cancel0' value=' 新 增 ' onclick="javascript:checkform();">

 

页面中是这样使用的

function checkform()
{
        document.form1.editor1.sync(); 

        editor1.sync(); 
        document.form1.act.value="add";
        document.form1.submit();
}

在这段js中应该如何执行sync();呢 总是提示对象不存在。

 

 

回复
发表新帖 发表回复