CKEditor将HTML插入textarea

时间:2012-04-02 17:50:49

标签: javascript ckeditor

我正在尝试使用javascript将文本插入CKEditor。我目前有这个脚本:

function quote_<?php echo $row['pid']; ?>() {
        var stringContent = $(".content_<?php echo $row['pid']; ?>").html();
         $("#wysiwyg").val("[quote=<?php echo $row['author']; ?>]" + stringContent + "[/quote]");
         CKEDITOR.instances.wysiwyg.insertHtml('[quote=<?php echo $row['author']; ?>]' + stringContent + '[/quote]');
}

<textarea name="message" style="width:100%" tabindex="3" rows="10" id="wysiwyg">
</textarea>

HTML没有被插入到实例'wysiwyg'中,所以我无法使其工作。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

这一行:

CKEDITOR.instances.wysiwyg.insertHtml('[quote={$row['author']}]' + stringContent + '[/quote]');

“作者”周围的单引号不会被转义。尝试:

CKEDITOR.instances.wysiwyg.insertHtml("[quote={$row['author']}]" + stringContent + "[/quote]");

答案 1 :(得分:1)

这对我有用:

CKEDITOR.instances.TEXTATEA_ID.insertHtml('<p> html here. </p>');

答案 2 :(得分:0)

您始终可以将javascript代码嵌入到.php文件中,如下所示:

<?php

echo <<<JS

<script type='text/javascript'>
    function quote_{$row['pid']}() {
        var stringContent = $(".content_{$row['pid']}").html();
            $("#wysiwyg").val("[quote={$row['author']}]" + stringContent + "[/quote]");
        CKEDITOR.instances.wysiwyg.insertHtml('[quote={$row['author']}]' + stringContent + '[/quote]');
}
</script>
    <textarea name="message" style="width:100%" tabindex="3" rows="10" id="wysiwyg">
    </textarea>
JS;
?>

另外,您也可以使用保存纯(X)HTML标记的php文件,但是当您到达通常回显的位置时,只需执行此操作:

var stringContent = $(".content_"+<?= $row['pid']; ?>).html();