不知道这是否是一个实际的问题,但是我正在使用Epic Editor在我的GAE应用程序(webpy中以mako作为模板引擎)中输入和保存 Markdown 。
提交表单时,我在表单中有一个隐藏的输入元素,该元素由EpicEditor的内容填充,但是所有空白都由
代替。这是预期的功能吗?如果我在EpicEditor网站上检查相同的代码,则它显然返回空格而不是
,所以我的有什么不同?
<form>
<!-- form elements -->
<input id="content" name="content" type="hidden" value></input>
<div id="epiceditor"></div>
<button type="submit" name="submit" id="submit">submit</button>
</form>
<script type="text/javascript">
$('button#submit').click(function(){
var content = editor.getElement('editor').body.innerHTML; //all the spaces are returned as and breaks are <br>
$('input#content').html(content);
});
</script>
注意:我想将内容作为markdown保存在数据存储的TextProperty字段中,并在使用marked.js检索它时生成html标签。
最佳答案
我是EpicEditor的创建者。您不应该获取innerHTML。 EpicEditor在您编写时不对innerHTML进行任何操作。您在所有浏览器中看到的文本和代码都将有所不同,这就是contenteditable
字段的工作方式。例如,某些浏览器在一些 
的空格处插入UTF-8字符。
EpicEditor为您提供标准化文本的方法。您不应该尝试手动解析文本。
$('button#submit').click(function(){
var content = editor.exportFile();
$('input#content').html(content);
});
有关
exportFile
的更多详细信息:http://epiceditor.com/#exportfilefilenametype附言您不需要输入内容。就是和#content一样:)