2013-09-30 33 views
9
<textarea cols="50" id="txt" contenteditable="true" name="editor1" runat="server" rows="10"></textarea> 
<script type="text/javascript" src="css-js/ckeditor.js"></script> 
<script type="text/javascript"> 
    CKEDITOR.replace('txt', {      
    });  
</script> 

tôi nhận được err này trên js:CKEditor getEditor() Lỗi, Cách khắc phục?

TypeError: Cannot call method 'getEditor' of undefined

+1

trước tiên hãy đảm bảo bạn bao gồm các tệp CKeditor js trong trang của mình !! –

+0

tất nhiên tôi đã thêm, chỉ cần tôi quên viết ở đây xin lỗi – Bip

+0

bạn đã thử trình duyệt này với những trình duyệt nào? thử trên một số trình duyệt. – Soosh

Trả lời

3

Sử dụng

CKEDITOR.appendTo('txt'); for DOM elements 

CKEDITOR.replace('textarea'); for textarea 

Ok anh chàng cố gắng này cũng

chức năng appendTo và thay thế đều nằm trong themedui.js tập tin

thử thêm riêng biệt, đây là liên kết

http://docs.ckeditor.com/source/ckeditor.html#CKEDITOR

+0

Tôi đã thử cả hai nhưng không hoạt động tôi gặp lỗi tương tự. Cảm ơn – Bip

11

Trước hết, contenteditable="true" thẻ là hoàn toàn hợp lệ và lỗi thời trong trường hợp của bạn. Thuộc tính như vậy có liên quan đến inline instances only và, vì <textarea> không phải là (nội dung) có thể chỉnh sửa, you don't need it.

Dù sao, (ngay cả khi lỗi) mã của bạn hoạt động cho tôi như một sự quyến rũ (fiddle). Như một lời giải thích, lỗi mà bạn nhìn thấy được tạo ra khi không có yếu tố của một id truyền cho CKEDITOR.replace(), ví dụ: (? Làm việc async)

<textarea id="foo"></textarea> 
<script type="text/javascript"> 
    CKEDITOR.replace('bar'); // <textarea> is #foo, error will be thrown 
</script> 

Hãy chắc chắn rằng DOM của bạn là hợp lệ và <textarea> tồn tại khi CKEDITOR.replace được gọi là .

+0

Mã trong câu trả lời không hoạt động vì ** vùng văn bản không có ID **. – Reinmar

Các vấn đề liên quan