我正在使用自定义表单并使用ajax调用生成表单元素,但textarea未加载ckeditor。这是我的代码:
ajax代码:
jQuery.ajax({
type: "POST",
url: "reg_arz_ajax2.php",
data: "book="+book_arzyabi,
dataType : "html",
success: function(response){
$('#resp').html(response);
},
error:function (xhr, ajaxOptions, thrownError){
//On error, we alert user
alert(thrownError);
}
});
$( "#dialog-form" ).dialog( "open");
});
ajax的回应是:
'<textarea class="ckeditor" cols="80" id="fname" name="fname" rows="10" >test</textarea>';
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>
请帮我解决问题。
答案 0 :(得分:1)
插入以下行:
ckeditor.replace('#fname'); // ADD THIS
$('#fname').ckeditor(); // ADD THIS
您的代码应如下所示:
jQuery.ajax({
type: "POST",
url: "reg_arz_ajax2.php",
data: "book="+book_arzyabi,
dataType : "html",
success: function(response){
$('#resp').html(response);
ckeditor.replace('#fname'); // ADD THIS
$('#fname').ckeditor(); // ADD THIS
},
error:function (xhr, ajaxOptions, thrownError){
//On error, we alert user
alert(thrownError);
}
});
$( "#dialog-form" ).dialog( "open");
});
答案 1 :(得分:0)
对我来说只有这条线有效:
ckeditor.replace('#fname');
并且需要删除以下行:
$('#fname').ckeditor(); // this does NOT work
另请注意,ckeditor
需要加盖,因此:
CKEDITOR.replace('#fname');
答案 2 :(得分:0)
仅添加CKEDITOR.replace('fname');
。 #不是必需的。此外,您不必添加:
$('#fname').ckeditor();
确保它始终是大写的,例如CKEDITOR not ckeditor
答案 3 :(得分:0)
不要添加ckeditor.replace('#fname'); 您必须添加$('#fname')。ckeditor(); 在我的项目中就是作品