<script>
KindEditor.ready(function(K) {
var editor1 = K.create('textarea[name="content1"]',
{
cssPath : 'plugins/code/prettify.css',
uploadJson : 'jsp/upload_json.jsp',
fileManagerJson : 'jsp/file_manager_json.jsp',
allowFileManager : true,
afterCreate : function() {
var self = this;
K.ctrl(document,13,function() {
self.sync();
document.forms['example'].submit();
});
K.ctrl(self.edit.doc,13,function() {
self.sync();
document.forms['example'].submit();
});
}
});
prettyPrint();
});
</script>
这是kindeditor的js代码
相对应的要展示的是
<form name="example" method="post" action="create_note.jsp">
<label>标题:</label><input id="csss" type="text" name="title" value="" />
<textarea id="t-editor" name="content1" cols="100" rows="8"
style="width: 902px; height: 500px; ">ss</textarea>
<button type="submit" name="button" value="提交内容">(提交快捷键:
Ctrl + Enter)</button>
</form>我想通过ajax和jQuery把所需要的显示的东西放到textarea中,就"ss"那边,
用过.innerHTML("xxx");用开发者选项看到确实放进去了,就是显示不出来,是不是kindeditor这个插件把textarea给遮盖了,我试过把它的display设为block,它就能显示出来,不过是另外一个块了。求解kindeditor

解决方案 »

  1.   

    ajax是异步的, KindEditor.ready应该是dom准备好了就执行了,可能ajax没返回赋值给textarea就已经执行过初始化了, KindEditor.ready中的代码放到你ajax返回后设置textarea的值后面
      

  2.   

    你的ajax代码呢,就放到成功回调里面啊//...设置textarea value为ajax返回值的代码var editor1 = K.create('textarea[name="content1"]',
                                    {
                                        cssPath : 'plugins/code/prettify.css',
                                        uploadJson : 'jsp/upload_json.jsp',
                                        fileManagerJson : 'jsp/file_manager_json.jsp',
                                        allowFileManager : true,
                                        afterCreate : function() {
                                            var self = this;
                                            K.ctrl(document,13,function() {
                                                self.sync();
                                                document.forms['example'].submit();
                                                });
                                            K.ctrl(self.edit.doc,13,function() {
                                                self.sync();
                                                document.forms['example'].submit();
                                                });
                                            }
                                    });
                                    prettyPrint();
      

  3.   

    确实可以显示了,不过,本来这段js代码是在main.html里面的,现在把它拖到ajax里面后,编辑器的功能键都不见了,那些css样式,js包的链接都在html里面,不知道这有关系么
      

  4.   

    不行textarea设置为空的值,调用编辑器的API动态设置ajax返回的内容改为全局变量
    window.editor1=...editor1.html(ajax返回的内容);