我想使用dijit/Editor
来允许用户在表单上输入格式化文本。文档是here。我在表单上设置了 div ,并为HTML编辑器添加了属性。
<label for="eed-event-description" class="required">Event Description</label><br />
<div id="eed-event-description" data-dojo-type="dijit/Editor" height="120px" title="required: brief description of what someone attending can expect at the event" required>
<p></p>
</div>
这导致了很多新代码,包括iframe:
<iframe id="eed-event-description_iframe" style="border: medium none; width: 100%; height: 120px;" title="Event Description" src="javascript: '<!DOCTYPE html><html lang=\'en\'>
<head>
<meta http-equiv=\'Content-Type\' content=\'text/html\'>
<title>Event Description</title><style>
body,html {
background:transparent;
padding: 1px 0 0 0;
margin: -1px 0 0 0;
}
body,html,#dijitEditorBody { outline: none; }html { height: 100%; width: 100%; overflow: hidden; }
body,#dijitEditorBody { height: 100%; width: 100%; overflow: auto; }
body{
top:0px;
left:0px;
right:0px;
font:400 16px "Lucida Sans Unicode", Arial, Helvetica, sans-serif;
line-height:1.125;
}
p{ margin: 1em 0; }
li > ul:-moz-first-node, li > ol:-moz-first-node{ padding-top: 1.2em; }
li{ min-height:1.2em; }
</style>
</head>
<body role=\'application\' aria-label=\'Event Description\'onload=\'try{frameElement && frameElement._loadFunc(window,document)}catch(e){document.domain="id0129.vps.sonic.net";frameElement._loadFunc(window,document)}\' style=\'\'><div id=\'dijitEditorBody\' role=\'textbox\' aria-multiline=\'true\' aria-label=\'Event Description\'></div></body>
</html>'" class="dijitEditorIFrame" frameborder="0"></iframe>
我不知道如何引用用户添加文本的区域,我没有看到dojotoolkit.org上的任何文档告诉我如何在JavaScript中处理结果以进行处理。我如何得到这个文本?
答案 0 :(得分:1)
dijit/Editor
使用.get('value')方法来获取HTML区域内容,
因此,您只需使用dijit/registry
获取dijit的引用并使用该函数即可。
var myEditor = registry.byId("eed-event-description");
var htmlValue = myEditor.get('value');
请参阅此Fiddle了解演示