Php 通过ajax请求时未初始化Yii2 CKeditor
我试图添加一个from,其中包含一个通过AJAX请求嵌入的CKeditor小部件。请求本身工作正常,并返回我想要的一般局部视图。除了Ckeditor小部件之外,一个普通的文本框是return 当项目被添加到组中并且页面被重新加载时,相同的partialView将与所有组项目一起呈现在foreach中,这一次CKeditor很好地就位了 下面发布了我的控制器、CKeditor和Scipt的初始化以及AJAX请求。CKeditor包含在_ContentItemHtml视图中 我已经看过了,但是我不能从JS调用任何CKeditor函数,因为它是作为小部件加载的 控制器动作 视图中的活动窗体: Script.js 使用而不是渲染部分。从文档中: [renderAjax]根据AJAX请求呈现视图 此方法类似于renderPartial,只是它将使用JS/CSS脚本和在视图中注册的文件注入渲染结果。因此,应该使用此方法而不是renderPartial来呈现视图以响应AJAX请求 使用而不是渲染部分。从文档中: [renderAjax]根据AJAX请求呈现视图 此方法类似于renderPartial,只是它将使用JS/CSS脚本和在视图中注册的文件注入渲染结果。因此,应该使用此方法而不是renderPartial来呈现视图以响应AJAX请求Php 通过ajax请求时未初始化Yii2 CKeditor,php,jquery,ajax,ckeditor,yii2,Php,Jquery,Ajax,Ckeditor,Yii2,我试图添加一个from,其中包含一个通过AJAX请求嵌入的CKeditor小部件。请求本身工作正常,并返回我想要的一般局部视图。除了Ckeditor小部件之外,一个普通的文本框是return 当项目被添加到组中并且页面被重新加载时,相同的partialView将与所有组项目一起呈现在foreach中,这一次CKeditor很好地就位了 下面发布了我的控制器、CKeditor和Scipt的初始化以及AJAX请求。CKeditor包含在_ContentItemHtml视图中 我已经看过了,但是我不能
如果我理解正确,那么ckeditor.js已经包含在主模板中了吗?添加小部件后,必须再次初始化ckeditor。为此,首先检查您的主模板中是否已经包含了ckeditor.js,然后可能会发布小部件生成的html,这样我们就可以通过Yii2框架帮助确定正确的jQuery selectorTry@hyde I'm load ckeditor,这将处理所有javascript。我无法访问此项。@托弗将参数添加到返回值$this->renderPartial“ContentItemHtml”['model'=>$model],false,true;但它似乎没有任何作用。我只是注意到你使用的是yii2而不是yii1。在这种情况下,尝试使用而不是renderPartialIf我理解你的权利,ckeditor.js已经包括在主模板中?添加小部件后,必须再次初始化ckeditor。为此,首先检查您的主模板中是否已经包含了ckeditor.js,然后可能会发布小部件生成的html,这样我们就可以通过Yii2框架帮助确定正确的jQuery selectorTry@hyde I'm load ckeditor,这将处理所有javascript。我无法访问此项。@托弗将参数添加到返回值$this->renderPartial“ContentItemHtml”['model'=>$model],false,true;但它似乎没有任何作用。我只是注意到你使用的是yii2而不是yii1。在这种情况下,请尝试使用而不是renderPartial
public function actionCreateHtml($contentitemgroupid)
{
$model = new ContentItemHtml();
if (isset(Yii::$app->request->post()['ContentItemHtml'])) {
$item = Yii::$app->request->post()['ContentItemHtml'];
$model->contentitemgroupid = $contentitemgroupid;
$model->title = $item['title'];
$model->body = $item['body'];
$model->save();
// return $this->redirect(['edit', 'id' => $model->contentitemgroupid]);
}
else
return $this->renderPartial('_ContentItemHtml', ['model' => $model]);
}
echo $form->field($model, 'body')->widget(CKEditor::className(), [
'preset' => 'custom',
'clientOptions' => [
'height' => 200,
'toolbarGroups' => [
['name' => 'basicstyles', 'groups' => ['basicstyles', 'cleanup']],
['name' => 'paragraph', 'groups' => ['templates', 'list']],
['name' => 'mode']]
]])->label(false);
$('#addNewContentItem').on('click', function (e) {
e.preventDefault();
var url = 'create-' + $('#itemSelector').val().toLowerCase() + '?contentitemgroupid=' + $('#itemSelector').attr('contentitemgroupid');
$.ajax({
type: 'POST',
url: url,
cache: false,
success: function(res) {
$('.contentItemsManager').append('<div class="ContentItemContainer row">' + res + '</div>');
AddSaveEventListener();
AddSaveMediafileEventListener();
AddRemoveEventListener();
}
});
});