Javascript ckeditor未加载通过弹出对话框上的ajax生成的元素?
我使用自定义表单并通过ajax调用生成表单元素,但textarea没有使用ckeditor加载。此窗体在弹出对话框中加载。这是我的密码: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 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
也太多。有关官方指南,请参见示例