TypeError:this.getWindow(...)。$ is undefined

时间:2015-10-07 11:18:02

标签: jquery ajax angularjs ckeditor modalviewcontroller

我得到了

  

TypeError:this.getWindow(...)。$ is undefined

当我使用CKEDITOR.instances['pageContent'].getData();使用ajax将记录保存到数据库时。我正在使用Modal

请告诉我如何解决此错误。

<div class="modal-body">
    <div class="form-group">
        <label>Page Content</label>
        <textarea id="pageContent" name="pageContent" ng-model="editCmsPageDetail.pageContent" class="form-control ckeditor">
        </textarea>
    </div>
</div>

这是我的textarea,标识为pageContent。 脚本如下:

<script>
      //CKEDITOR.replace('pageContent');
      $('#pageContent').ckeditor();
</script>

单击确定按钮

时的功能
$scope.ok = function () {       
    $scope.editCmsPageDetail['pageContent'] = CKEDITOR.instances['pageContent'].getData();
    //alert(pageContent);

    var getCmsPageUpdateUrl = $('#updateCmsPageUrl').val();

    var httpRequest = $http({
        method: 'POST',
        url: getCmsPageUpdateUrl,
        data : $scope.editCmsPageDetail
    }).success(function(data, status) {

        if(data.response.error) {

        } else if(data.response.cmsPageDetail) {

        }
    });

    $modalInstance.dismiss($scope.editCmsPageDetail);
};

1 个答案:

答案 0 :(得分:1)

您可能缺少CKEditor的jQuery适配器,请参阅:http://docs.ckeditor.com/#!/guide/dev_jquery

或者您也可以通过设置ckeditor上的textarea课程来启动它,就像您现在所做的那样,请参阅:http://ckeditor.com/ckeditor_4.3_beta/samples/replacebyclass.html

然后您可以访问ckeditor实例并获取其值,如:

$(document).on('click', '#AddBrandButton', function () {
    alert(CKEDITOR.instances['pageContent'].getData());
});

演示:http://jsfiddle.net/IrvinDominin/9p8pkcpc/