Javascript ckeditor未加载通过弹出对话框上的ajax生成的元素?

Javascript ckeditor未加载通过弹出对话框上的ajax生成的元素?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我使用自定义表单并通过ajax调用生成表单元素,但textarea没有使用ckeditor加载。此窗体在弹出对话框中加载。这是我的密码: ajax code: jQuery.ajax({ type: "POST", url: "reg_arz_ajax2.php", data: "book="+book_arzyabi, dataType : "html", success: function(response){ $('#re

我使用自定义表单并通过ajax调用生成表单元素,但textarea没有使用ckeditor加载。此窗体在弹出对话框中加载。这是我的密码:

ajax code:

    jQuery.ajax({
    type: "POST",
    url: "reg_arz_ajax2.php",
    data: "book="+book_arzyabi,
    dataType : "html",
    success: function(response){

        $('#resp').html(response);
                    ckeditor.replace('fname'); 
        $("#fname").ckeditor();
    },
    error:function (xhr, ajaxOptions, thrownError){
        //On error, we alert user
        alert(thrownError);
    }
});

$( "#dialog-form" ).dialog( "open");

});
php代码:

    echo '<textarea class="ckeditor" cols="80" id="fname" name="fname" rows="10" >test</textarea>';
echo“测试”;
html代码:

  <html>
 <head>
 <script type="text/javascript" src="../include/ckeditor/ckeditor.js"></script>
 <script type="text/javascript" src="../include/ckeditor/sample.js" ></script>
 </head>

 <body>
 <form>
 <fieldset>
 <label for="name">Name</label>
 <div id="resp" ></div>
 </fieldset>
 </form>
 </body>
 </html>

名称

请帮助我解决问题。

您需要手动将textarea转换为CKEditor实例,因为通过指定类名进行替换只在页面加载时执行一次

,基本上就是:

CKEDITOR.replace( 'textarea_id' )
因此,在您的情况下,您应该添加

CKEDITOR.replace( 'fname' )
到ajax成功回调

请注意,Javascript是区分大小写的,因此您应该用大写字母编写
CKEDITOR
replace
之后的函数调用
ckeditor
也太多。有关官方指南,请参见示例