如何将CKEditor默认值设置为空白?

时间:2015-04-14 09:39:58

标签: javascript ruby-on-rails ckeditor

我在我的Rails项目中使用CKEditor

view看起来像这样:

<%= cktext_area_tag "editor_name","", :style=>"width:115px; height:19px; border:#d1d1d1 1px solid;  background:#cfcfcf" %>

加载时编辑器中没有内容。但在检查console时,我可以看到:

    > var editor_val = CKEDITOR.instances.editor_name.document.getBody().getChild(0).getText() ;
    < undefined
    > editor_val
    < "
      "
    > editor_val.length
    < 1

我希望CKEditor的默认值为空。这怎么可能?

1 个答案:

答案 0 :(得分:1)

如果考虑DOM而不考虑数据,CKEditor永远不会是空的:

CKEDITOR.instances.editor.setData( '' );
CKEDITOR.instances.editor_name.editable().getText().length;
1
CKEDITOR.instances.editor_name.editable().getText().charCodeAt( 0 );
10
CKEDITOR.instances.editor_name.editable().getHtml();
"<p><br></p>" 
CKEDITOR.instances.editor_name.getData().length;
0

那个“持久”的白色字符(10)(do not confuse with with keyCode)是new line,几乎不回忆<br>即可在CKEditor中进行编辑,可能因浏览器而异OS。这是CKEditor显示插入符号和初始折叠选择的内部起点,这意味着您不应该依赖它。

由于obtaining CKEditor content唯一安全的方法是:

CKEDITOR.instances.editor_name.getData();

如果您真的想要遵循editable().getText()方式,我建议您在服务器端剥离标记或CKEDITOR.tools.trim()