2

私はAjaxを使用してそれを呼び出し、データベースからコンテンツを呼び出すこのtinymceテキスト領域を持っています

<form class="form">
    <table cellspacing="20">
        <tr>
            <td>
                <label>Select Page :</label>
            </td>
            <td>
                <select name="cms" id="cms" onchange="page_get_content(this.options[selectedIndex].value);">
                    <option value="">Select Page to be edited</option>
                    <option value="3">Home Page</option>
                    <option value="1">About us</option>
                    <option value="2">Agents</option>
                </select>
            </td>
        </tr>
        <tr>
            <td></td>
            <td>
                <div id="content" style="display: none;">
                    <textarea id="newsdesc" name="content"></textarea>
                </div>
            </td>
        </tr>
    </table>
</form>

これを呼び出すJavaScriptは次のとおりです

function page_get_content(id) {
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById('content').style.display = "block";
            document.getElementById('newsdesc').innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open('GET', 'forms/cms_get.php?page_id=' + id, true);
    xmlhttp.send();
}

cms_get.php は次のとおりです。

<?php
$page_id = $_GET['page_id'];
if(!empty($page_id)){
    $cms = new CMS();
    $page = $cms -> find_by_id($page_id);
    if($page) {
?>
<?php echo $page -> content; ?>
<?php 
    } 
} 
?>

すべて正常に動作していますが、tinymce が空で読み込まれています。火災のバグで要素を検査すると、テキスト領域が表示されますが、非表示になっているため、ブロックとして表示しようとすると、通常の html テキスト領域が表示されます。中身も一緒に見せたい

4

1 に答える 1

3

編集せず.innerHTML、使用するtinyMCE.get(id).setContent(text);

詳細:http ://www.tinymce.com/wiki.php/API3:method.tinymce.Editor.setContent

于 2012-05-17T08:32:05.030 に答える