2015-02-07 3 views
3

Я использую редактор CK в приложении.Получить текст из CK Editor textarea в JQuery

<textarea name="contentDetails" id="contentDetails" rows="10" cols="80"></textarea> 

Но я не могу получить текст из этого текстового поля. Я пробовал-

var content= $("#contentDetails").text(); //and also .val() & .html() 

Но content переменная остается пустой.

Любая идея?

//UPDATE - add my codes below 
<script> 
CKEDITOR.replace('contentDetails'); 

$(function() { 
    $("#submitcontent").click(function (e) { 
     e.preventDefault(); 
     var content= $("#contentDetails").text();   
    }); 
}); 

</script> 
+0

попробуйте использовать '.val()' 'не .text()' – Deryck

+0

Когда вы вызова функции, имеющей переменная 'content'? После заполнения текстового поля? – sideroxylon

+0

- это контент, определяемый внутри обработчика события или только где-то в коде? – Deryck

ответ

6

Попробуйте это:

var text = CKEDITOR.instances.contentDetails.getData(); 
+0

@ Irfan TahirKheli - Ты спас меня целый день. –

+0

@SKPaul ​​удовольствие все мое. заслуживают голосования тоже? –

+0

На самом деле это CKEDITOR.instances.contentDetails.getData(). Обновите свой ответ. –

-1

Согласно официальной документации: CKEditor Dom Element

Попробуйте

textarea = document.getElementById('contentDetails'); 
textareaNode = new CKEDITOR.dom.element(textarea); 
textareaNode.getValue(); 
+0

Ваш код не работает. Мой код обновлен. Пожалуйста, посмотри. –

+0

Пожалуйста, обновите свой ответ более подробно, чтобы он был полезен будущим читателям. – Hemang

0

CKEditor заменит текстовое поле с его собственными элементами, и именно там вам нужно будет получить HTML от. Если вы проверите исходное текстовое поле, вы найдете его пустым, содержимое на самом деле находится в другом месте в кучке html, созданного редактором. Попробуйте использовать элемент проверки, чтобы найти селектор для элемента, который содержит контент, который вы можете использовать. Убедитесь, что ваш jQuery выполняется после инициализации редактора.

2

Официальный CKEditor jQuery adapter guide объясняет:

// Get the editor data. 
var data = $('textarea.editor').val(); 
// Set the editor data. 
$('textarea.editor').val('My new content'); 
Смежные вопросы