У меня есть всплывающее окно с использованием всплывающей подсказки (http://iamceege.github.io/tooltipster/), содержащей текстовую область, в которой я хочу использовать CKEditor. У меня установлена версия 4.10.1, которая работает со стандартными страницами, но при использовании внутри возникают проблемывсплывающее окно.
Редактор отображается правильно, но отправка формы, изменения содержимого в CKEditor не передаются. console.log показывает, что содержимое текстовой области такое же, как было, когда всплывающее окно всплывающей подсказки было изначальнозагружен.
Если я отключаю CKEditor, содержимое обновляется корректно.
Текстовое поле создается с помощью этого кода:
<td class="main" width="100%"><?php echo zen_draw_textarea_field('products_description[' . $languages[$i]['id'] . ']', 'soft', '100%', '30', htmlspecialchars((isset($products_description[$languages[$i]['id']])) ? stripslashes($products_description[$languages[$i]['id']]) : zen_get_products_description($pInfo->products_id, $languages[$i]['id']), ENT_COMPAT, CHARSET, TRUE), 'class="editorHook"');?></td>
Скрипт для отправки содержимого страницы после любых полейбыло отредактировано
// start confirm edit product script
$(document).ready(function() {
// Variable to hold original content
var original_content = '';
$('.product-edit-<?php echo $products_id; ?>').submit(function(e){
e.preventDefault();
console.log($(this).serialize());
$.ajax({
url: 'product_edit_update_ajax.php',
type: 'POST',
data: $(this).serialize(),
dataType: 'html'
})
.done(function(data) {
//console.log(data);
var obj = JSON.parse(data);
$('.tooltip-edit-<?php echo $products_id; ?>').tooltipster('close');
var elem = $('.model-<?php echo $products_id; ?>');
var elem2 = $('.name-<?php echo $products_id; ?>');
elem.fadeOut('slow', function() {
elem.html(obj.asHtml).fadeIn('slow', function() {
elem.delay(1200).fadeOut('slow', function() {
elem.html(obj.model).fadeIn('slow');
elem2.html(obj.name).fadeIn('slow');
});
});
});
})
.fail(function(){
alert('Ajax Submit for Edit Product Failed ...');
});
});
});
// end confirm edit product script
Сценарий, который вызывает CKEditor:
$(document).ready(function() {
<?php echo $jsLanguageLookupArray ?>
$('textarea').each(function() {
if ($(this).hasClass('editorHook') || ($(this).attr('name') != 'message' && ! $(this).hasClass('noEditor')))
{
index = $(this).attr('name').match(/\d+/);
if (index == null) index = <?php echo $_SESSION['languages_id'] ?>;
CKEDITOR.replace($(this).attr('name'),
{
coreStyles_underline : { element : 'u' },
width : 760,
language: lang[index]
});
}
});
});
Есть ли особый параметр, который мне нужно использовать, чтобы позволить CKEditor функционировать в подсказке?