我在我的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的默认值为空。这怎么可能?
答案 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()
。