gpt4 book ai didi

php - 如何使用ajax添加TinyMCE文本框

转载 作者:行者123 更新时间:2023-11-28 09:20:45 24 4
gpt4 key购买 nike

我希望我的用户从选择列表中选择 templateId ,当用户选择时查询数据库以基于 templateId 获取模板内容。然后我想将模板内容显示到文本区域,但它显示 TinyMCE 文本区域中的 html 标签,而不是显示设计( View )。

仅当我在页面加载时显示相同的 templateContents 时,它才起作用,但是当我尝试通过从数据库获取来显示相同​​的内容时,它会失败。

希望这一切都能让您知道我需要什么。

在第 1 步中,代码运行良好...

<textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 50%">
<?php echo htmlspecialchars($ResultArray[0]['Contents']); ?>
</textarea>

...但是 select 的 onchange 值我正在调用所选模板:

<select name="templateId" id="templateId" onchange="GetTemplateView(this.value);">
<?php for($i=0; $i<count($ResultArray); $i++){ ?>
<option value="<?php echo $ResultArray[$i]['TemplateId']; ?>"><?php echo $ResultArray[$i]['Name']; ?></option>
<?php }?>
</select>

Ajax 请求是:

function GetTemplateView(templateId)
{
var xmlhttp;
if (window.XMLHttpRequest)
{ // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{ // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
if (navigator.appName == 'Microsoft Internet Explorer')
document.getElementById("templateView").outerHTML = xmlhttp.responseText;
else
document.getElementById("templateView").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "js/GetTemplateView.php?id=" + templateId + "&encode=true", true);
xmlhttp.send();
}

GetTemplateView.php:

<?php
include_once("../classes/db_utility_class.php");
$ClassObj= new Cdb();
$input = $_GET["id"];
$Encode = $_GET["encode"];

if($input!=0)
{
$query = "SELECT Contents FROM mailtemplate WHERE TemplateId=".$input;
$result = $ClassObj->getRowFromDB($query);
if($result != "Error in query" || $result != "No Record Found")
{
if($Encode)
{
echo '<textarea id="ele1" name="ele1" rows="15" cols="80" style="width: 50%">';
echo htmlspecialchars($result['Contents']);
echo '</textarea>';
}
else
echo $result['Contents'];
}
}
?>

最佳答案

首先使用jquery.ajax比较好用。

并且 1. 将 tinyMCE 存储到 processpage.php 中的变量。

  1. 并在 ajax 调用的 success 函数中将其附加到您希望其显示的任何 div 或 body 中。

查看示例代码。需要时调用它。

<script>
$.ajax({
url: processpage.php,
type: 'GET',
contentType: 'text/html',
dataType: 'text',
async: false,
data:{
showTINYMCE : 'Yes'
},
success: function(msg)
{
$('body').append(msg);
},
error: function (msg)
{
}
});

</script>

在您的 processpage.php 中:

if($_GET['showTINYMCE'] == 'Yes')
{
$tinymce = "contains the tinymce";
echo $tinymce;
}

这样就可以了。

关于php - 如何使用ajax添加TinyMCE文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15025255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com