Динамическая форма с проблемами wysiwyg

У меня проблемы с динамической формой в редакторе wysiwyg. Я использую FCKEditor (я вынужден).

С самого начала я создаю симпатичную форму в Fencybox, корректно работающую. У меня есть только одна небольшая проблема, форма не отправляет никакого значения. Согласно документации текст ссылки все реализовано корректно.

Я пытаюсь получить содержимое редактора:

var comment = $("#comment").val();

Не работает, интересно почему. У Вас есть какие-то предложения?

Изменить alert(comment); ничего не вернуть. Но когда я вставляю:

success: function(html){
    alert(comment);
}

он работает правильно. Любые идеи?

С уважением, Том


person Tom    schedule 13.07.2010    source источник
comment
Что именно вы подразумеваете под динамической формой. Является ли форма внутри WYSIWYG HTML? Или снаружи? Можете ли вы показать готовый HTML-код?   -  person Pekka    schedule 13.07.2010
comment
Я имел в виду форму AJAX. Вот вывод HTML... ‹form name=comment id=comment method=post› ‹input type=hidden id=comment_body name=comment_body value= style=display:none /›‹input type=hidden id=comment_body___Config value= style= display:none /›‹iframe id=comment_body___Frame src=/js/fckeditor/editor/fckeditor.html?InstanceName=comment_bodyToolbar=Ширина профиля=473 height=230 frameborder=0 scrolling=no›‹/iframe›   -  person Tom    schedule 13.07.2010
comment
Какой код вы используете для инициализации FCKEditor внутри формы AJAX?   -  person Pekka    schedule 13.07.2010
comment
Идентичен коду из документации. Это должно быть все с селектором jQuery, но не знаю, что. Заметил странность, отредактировал пост.   -  person Tom    schedule 13.07.2010
comment
Идентичный код из какой документации?   -  person Pekka    schedule 13.07.2010
comment
Конечно, FCKEditor. Теперь проблемы решены, спасибо Pekka за потраченное время и помощь!   -  person Tom    schedule 13.07.2010


Ответы (2)


Используйте API JavaScript CKEditor для получения значения HTML:

var comment = FCKeditorAPI.GetInstance('comment_body').GetHTML();
person Jon Benedicto    schedule 13.07.2010
comment
+1 - Да, я был уверен, что с API есть лучший способ, я просто не мог его найти: P - person Mottie; 13.07.2010

Я думаю, что понимаю, что вы хотите... селектор jQuery, который у вас есть, ничего не вернет, потому что вы пытаетесь получить значение формы (#comment - это идентификатор вашей формы)

Содержимое редактора фактически находится внутри iframe или textarea, в зависимости от того, смотрите ли вы на источник... попробуйте следующее:

var content = ($('textarea.cke_source').length) ? $('textarea.cke_source').val() : $('table.cke_editor iframe').contents().find('body').html();

Изменить: используйте ответ Джона ... теперь, когда я снова смотрю, я думаю, что это было для CKEditor, а не для FCKEditor, их легко спутать.

person Mottie    schedule 13.07.2010
comment
Спасибо за помощь fudgey ;) - person Tom; 13.07.2010