主题: 4.0.1获取编辑器html内容的问题讨论
作者: Jea杨, 发布日期: 2011-10-23 16:17:25, 浏览数: 4935

对js不太熟悉,但又想去更深入得了解一些js的知识,所以做了个ajax提交数据的留言板,过程中出现了个很头疼的问题:总是取不完全经过kind编辑后的完整html内容(也就是“HTML代码”模式下编辑器内显示的内容);

问题表现为:

1.复制粘贴进编辑器的内容获取不到,只能获取手动输入的内容,

2.插入的emotion表情 只能获取到部分代码,类似<img src="xxxxxxx 的样子。

 

有几个概念的问题没弄清楚:

1.editor.fullHtml()获取的是什么地方的html内容?放置编辑器textarea标签的这个页面的整体html内容?

2.editor.html()获取又是什么内容?

3.editor.sync() 是用来做什么的?将编辑器的内容设置到原来的textarea控件里。 ”   

   也就是说执行这个函数后js就能直接读取textarea的innerHTMl内容?而且这个内容是带html标签的隐藏的?

 

不想就这个问题去解决这个问题,只想听听大家对这个问题的看法;比如说说可能是什么个原因导致的?再比如是不是ajax代码过程中出现了问题?

 

ps:基于jQuery写的部分菜鸟代码;如下:

var email = jQuery("#Email").val(),
      qq = jQuery("#QQ").val(),
      name = jQuery("#UserName").val(),
      content =Kinds.html();//问题的关键,在定义变量之前加上sync()并换了fullHtml()结果就含有body标签了
      code = jQuery("#Code").val();
      alert(content);//此处alert能够显示全,但提交到后台后就不完全了,我怀疑是ajax代码出问题了

$.ajax({
       type: "POST",
       url: 'Message/Ajax.php',
       data: 'name='+name+'&email='+email+'&qq='+qq+'&code='+code+'&content='+content+'&do=message',
       beforeSend:function () {
         jQuery("#layer").empty();
         addnotice("留言数据提交中...","layercontinue");//自己layer层提示方法,可以不用管
        },      
       success: function(msg) {
        jQuery("#layer").empty();
        //alert(msg);

});

 

作者: Roddy, 发布日期: 2011-10-23 22:38:30
字符串拼接POST数据,要转移字符的。最好用Object方式设置POST数据吧。
回复
作者: Jea杨, 发布日期: 2011-10-24 10:31:07


回复Roddy:



原来如此,拼接传参时jQuery对数据进行了转义。原来与kindeditor是无关,是说alert数据时是完全的数据,但提交后PHP获取的就不完全了的。试了试你说的对象方法,果然问题就解决了 (呵呵,别在心里埋怨说:“菜鸟就是菜鸟”,不过我已经这样给自己说过了!



 



我发现每次我有问题都是Roddy你来回答的,我估计kind就是出至你手!向你学习!

回复
发表新帖 发表回复