1
添加TinyMCE的文本框,我希望我的用戶從選擇列表中選擇templateId,當用戶選擇然後查詢數據庫帶來基於templateId模板內容。然後,我想將模板內容顯示爲textarea,但它顯示TinyMCE textarea中的html標籤,而不是顯示設計(視圖)。如何使用AJAX
它的工作原理,只有當我表現出同樣的templateContents在頁面加載,但是當我嘗試從失敗的數據庫中獲取,以顯示相同的內容。
希望這一切都給你任何線索我所需要的。
在步驟1中的代碼工作正常...
<textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 50%">
<?php echo htmlspecialchars($ResultArray[0]['Contents']); ?>
</textarea>
...但選擇我打電話選定模板的平變化值:
<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'];
}
}
?>
我怎麼能夠發送選擇控件的值processpage.php – Bilal 2013-02-22 13:54:25
你能解釋一下你越是想談談「選擇控制值」的東西。那麼只有我可以給你一個答案 – 2013-02-23 09:07:31