Javascript 如何根据电子邮件模板名称的选择创建相关的tinymce textarea?
我使用的是SugarCRM 6.5.x CE版本。我想做一个依赖的功能,我有一个下拉字段与电子邮件模板名称列表。根据电子邮件模板的选择,文本区应填写电子邮件模板正文文本。所以,我取得了成绩 现在,我想在tinymce编辑器textarea中显示这个正文文本,而不是普通的textarea。现在,我通过这个url将我的textarea“转换”为tinymce编辑器textarea 现在,当我从下拉字段中选择电子邮件模板时,这个tinymce文本区域并没有填充相应的正文文本 这是我为普通文本区编写的javascript,它可以正常工作Javascript 如何根据电子邮件模板名称的选择创建相关的tinymce textarea?,javascript,html,tinymce,sugarcrm,Javascript,Html,Tinymce,Sugarcrm,我使用的是SugarCRM 6.5.x CE版本。我想做一个依赖的功能,我有一个下拉字段与电子邮件模板名称列表。根据电子邮件模板的选择,文本区应填写电子邮件模板正文文本。所以,我取得了成绩 现在,我想在tinymce编辑器textarea中显示这个正文文本,而不是普通的textarea。现在,我通过这个url将我的textarea“转换”为tinymce编辑器textarea 现在,当我从下拉字段中选择电子邮件模板时,这个tinymce文本区域并没有填充相应的正文文本 这是我为普通文本区编写的j
function display_text(){
if(typeof(document.getElementsByName('email_template_c')[0].value) != "undefined"){
var custom_data = document.getElementsByName('email_template_c')[0].value;
if(custom_data != ''){
$.ajax({
url:'index.php?entryPoint=check_email_template_subject',
data:{new_custom_data: custom_data},
success: function(data){
if(data!= ''){
document.getElementsByName("email_template_body_c")[0].value = data;
SUGAR.util.callOnChangeListers(document.getElementsByName("email_template_body_c")[0]);
}else{
document.getElementsByName("email_template_body_c")[0].value = '';
SUGAR.util.callOnChangeListers(document.getElementsByName("email_template_body_c")[0]);
}
}
});
}
}
}
这是我的tinymce编辑器textarea代码,它不工作
function display_text(){
if(typeof(document.getElementsByName('email_template_c')[0].value) != "undefined"){
var custom_data = document.getElementsByName('email_template_c')[0].value;
if(custom_data != ''){
$.ajax({
url:'index.php?entryPoint=check_email_template_subject',
data:{new_custom_data: custom_data},
success: function(data){
if(data!= ''){
$("p").parent(".mceContentBody").val(data);
SUGAR.util.callOnChangeListers($("p").parent(".mceContentBody").val(data));
}else{
$("p").parent(".mceContentBody").val();
SUGAR.util.callOnChangeListers($("p").parent(".mceContentBody").val());
}
}
});
}
}
}
这个ajax从这个check\u email\u template\u subject.php文件中获取数据
<?php
global $db;
if($_REQUEST['new_custom_data'] != null){
$template_id = urldecode($_REQUEST['new_custom_data']);
$query1 = "SELECT body FROM email_templates WHERE id = '$template_id'";
$result1 = $db->query($query1);
$row1 = $db->fetchByAssoc($result1);
echo $row1['body'];
}
?>
这是tinymce编辑器texarea的html代码
<html>
<head xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="X-UA-COMPATIBLE" content="IE=7">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body dir="ltr" id="tinymce" class="mceContentBody" contenteditable="true">
<p>//Here should come email template body text
<br>
</p>
</body>
</html>
//这里应该来电子邮件模板正文文本
在tinyMCE中使用活动编辑器的方法
假设你的值为
var txtVal = $(".dropdown").val(); // dropdown value
//set value as in your active tinyMCE's textarea editor
tinyMCE.activeEditor.setContent(txtVal );
希望它能起作用:)嘿,伙计,它能起作用。但现在这似乎是一个新问题。当文本在编辑器中显示时,它丢失了它所具有的格式…因此请帮助我保持其格式不变。与其使用val()将html作为var htmlal=$(“。下拉选项:选中”).html();然后将内容设置为tinyMCE.activeEditor.setContent(htmVal);它会工作:)嘿,我从php文件中得到这些数据。这是我上面提到的代码。请指导我如何以及如何对上述代码进行更改。因为我没有找到添加
.html()
的位置。请尝试此var custom\u data=document.getElementsByName('email\u template\u c')[0]。innerHtml;email_template_c是email模板的id…我需要的是从ajax获得的数据应该保持其原始格式。