【发布时间】:2013-07-29 00:35:57
【问题描述】:
您好,在确认选项卡上的向导中,我尝试从 tinymce 编辑器获取内容。但它不起作用。使用普通的文本区域,它可以正常工作。
普通Textarea示例:
<div class="control-group">
<label class="control-label">MyValue<span class="required">*</span></label>
<div class="controls">
<textarea class="span12 m-wrap" style="max-width:100%;" name="MyValue" rows="7"></textarea>
</div></div>
在确认页面上显示来自 textarea 的文本的代码:
<div class="control-group">
<label class="control-label">MyValue</label>
<div class="controls">
<span class="text display-value" data-display="MyValue"></span>
</div>
</div>
我的 JavaScript 代码:
var displayConfirm = function() {
$('.display-value', form).each(function(){
var input = $('[name="'+$(this).attr("data-display")+'"]', form);
if (input.is(":text") || input.is("textarea")) {
$(this).html(input.val());
} else if (input.is("select")) {
$(this).html(input.find('option:selected').text());
} else if (input.is(":radio") && input.is(":checked")) {
$(this).html(input.attr("data-title"));
} else if ($(this).attr("data-display") == 'htmlinhalt') {
$(this).html($('[name="htmlinhalt"]', form).val());
}
});
}
但为什么它不适用于 tinymce 文本区域?我想我必须直接从tinymce而不是textarea获取内容,但是如何?
【问题讨论】:
-
在开始任何提交或验证之前您是否尝试过
tinyMCE.triggerSave();? -
不,我仍然不尝试。信息:tinymce 代码不在 self js 文件中,而不是我的 displayConfirm javascript 代码。 @MahanGM 如果我把它写在我的 javascript 代码之上。什么都没发生。或者我必须在哪里集成它?
-
您应该知道一件事,当您使用 TinyMCE 进行编辑时,它不会从您提供的 textarea 中使用,而是使用其内部 html 框架标签来保存和显示数据。您必须进行更新,例如保存触发器才能将数据放入该文本区域。
-
@MahanGM 所以我无法使用 javascript 在向导的 3 选项卡上显示内容? ---- 我也发现 var ed = tinymce.activeEditor; // 获取编辑器实例 ed.save(); //将编辑器内容保存到textarea --- 但是如何集成呢?
标签: php javascript tinymce