2010-06-06 69 views
2

隨着CKEDITOR,當我用JS來獲取文本編輯器中的內容,我找回:CKEDITOR,是返回一些奇怪的字符

<p>\u000a\u0009&nbsp;ad adad ad asd</p>\u000a 

當我應該得到:

<p>ad adad ad asd</p> 

有什麼想法這裏發生了什麼?

這可能是原因的唯一區別是,我動態創建負載文本域,並使用一個類來找到編輯:

$('.guideItem-textarea').each(function(index, value){ 
    // ID of the textarea 
    var targeteditor = $(this).attr('id'); 
    var targeteditorID = $(this).attr('id').replace('noteguide',''); 

    // Contents in the editor 
    textareacontents = CKEDITOR.instances[targeteditor].getData(); 
}); 

任何想法?

回答

3

那些奇怪的字符是unicode控制字符。第一個是換行,seond是一個標籤。你的例子中的數據是否真的是你問題中的值?也許你預先填充了其他來源的文本?

建議你計算後這一點,雖然閱讀: http://www.joelonsoftware.com/articles/Unicode.html

+0

布賴恩感謝您的回答。數據來自CKEDITOR:textareacontents = CKEDITOR.instances.noteguide1.getData();有沒有辦法解決這個問題?去掉所有的Unicode控制字符? – AnApprentice 2010-06-06 03:49:51

+0

它也似乎只發生在FIrefox,而不是safari – AnApprentice 2010-06-06 03:54:10

+0

我會研究數據(即在您的問題中的「ad adad ad asd」)被放入ckeditor本身的位置:如果您使用jquery做某事,您可能會遇到文檔中由text()描述的某些瀏覽器特定行爲:http://api.jquery.com/text/ 由於您有jQuery,您可能會發現某種正則表達式,您可以執行該操作來刪除控制字符。就像這樣:http://stackoverflow.com/questions/846797/how-to-remove-space-and-restrict-special-chars-using-jquery – 2010-06-06 04:10:59