我设置了一个表单来使用 ajax 进行动态保存。它适用于标准文本区域,但在使用 ckeditor 类启用 ckeditor 后,它没有响应。表单如下所示:
<div class="form-group">
<div class="float auto clear">
<textarea class="ckeditor saveData" name="introtext" itemid="<?php echo $id; ?>" id="editor1" ><?php echo "$introtext"; ?></textarea>
</div>
</div>
saveData 是我用来启动 javascript 函数来保存文本区域数据的类。javascript:
// ckeditor textarea
$(document).on('keyup','.saveData',function()
{
var DATA = CKEDITOR.instances.editor1.getData();
var cleaned=remove_whitespaces(DATA);
var ID=$(this).attr('itemid');
if(cleaned !=''){
var dataString = 'introtext='+ cleaned +'&id='+ ID;
$.ajax({
type: "POST",
url: "save.php",
data: dataString,
cache: false
});
}
})
// END SAVE BASE
// ordinary textarea
$(document).on('keyup','.saveData2',function()
{
var DATA=$(this).val();
var cleaned=remove_whitespaces(DATA);
var ID=$(this).attr('itemid');
if(cleaned !=''){
var dataString = 'introtext2='+ cleaned +'&id='+ ID;
$.ajax({
type: "POST",
url: "save.php",
data: dataString,
cache: false
});
}
})
您可以在 www.dottedi.us/ckeditor 看到该表单。我尝试同时使用两者:
var DATA=$(this).val();
和
var DATA = CKEDITOR.instances.editor1.getData();
但两者都不起作用。
尝试使用以下-
<div class="form-group">
<div class="float auto clear">
<textarea class="ckeditor saveData" name="introtext" itemid="<?php echo $id; ?>" id="editor1" ><?php echo "$introtext"; ?></textarea>
</div>
</div>
// ckeditor textarea
var editor = CKEDITOR.replace('editor1');
editor.on('change', function()
{
var DATA = this.getData();
var cleaned=remove_whitespaces(DATA);
var ID=$('#editor1').attr('itemid');
if(cleaned !=''){
var dataString = 'introtext='+ cleaned +'&id='+ ID;
$.ajax({
type: "POST",
url: "save.php",
data: dataString,
cache: false
});
}
})
// END SAVE BASE