以下是我的html代码:
<button type="button" class="btn btn-default btn-sm" onclick="appendBBCode('youtube','ContentArea')">[youtube]</button>
<br>
<div class="form-group field-boats-content required">
<label class="control-label" for="boats-content">Content</label>
<textarea id="ContentArea" name="Boats[content]" rows="6"></textarea>
</div>现在,当tinyMCE未初始化时,当它只是“纯”文本区域时,下面的函数将按预期工作;另一方面,当tinyMCE被初始化时,什么都不会发生,而chrome中的控制台也不会显示任何错误。
这是我的功能:
function appendBBCode(tag, containerID) {
var Field = document.getElementById(containerID);
var val = Field.value;
var selected_txt = val.substring(Field.selectionStart, Field.selectionEnd);
var before_txt = val.substring(0, Field.selectionStart);
var after_txt = val.substring(Field.selectionEnd, val.length);
Field.value += '[' + tag + ']' + '[/' + tag + ']';
}发布于 2016-04-14 11:44:49
您不需要直接修改textarea,而是需要通过tinyMCE setContent()函数进行修改:
tinyMCE.get(containerID).setContent('updated content goes here....');您可以使用以下方式提取当前选定的文本:
tinyMCE.get(containerID).selection.getContent();https://stackoverflow.com/questions/36621813
复制相似问题