使用AngularJS的CKEditor 4必须单击“保存两次”

时间:2014-03-12 03:31:15

标签: javascript jquery angularjs ckeditor

我将CKEditor 4与AngularJS应用程序一起使用。当我的应用程序加载时,所有内容似乎都正常工作,因为我可以看到CKEditor实例。但是,当我点击“保存”时,按钮并输出CKEditor中的数据(将其写入控制台),它返回undefined,但是当我第二次单击保存时,它按预期工作。我对正在发生的事情感到茫然。我错过了什么?

我有一个非常简单的实现:

HTML标记

<textarea id="tbDetails" name="tbDetails" ng-model="event.details" placeholder="Event Details"></textarea>

<button id="btnSave" ng-click="save(event)">Save Event</button>

的JavaScript

CKEDITOR.replace('tbDetails');

保存事件处理程序(AngularJS)

$scope.save = function () {
    console.log($('#tbDetails').val()); // undefined the 1st time, but works the 2nd time
}

1 个答案:

答案 0 :(得分:1)

无需使用$('#tbDetails').val()

试试这个

$scope.ckeditordata = CKEDITOR.instances.tbDetails.getData();

console.log( CKEDITOR.instances.tbDetails.getData(); )