私は動的なページの読み込みを行っており、ページにはそれぞれCKEditorで編集フォームを開くリンクがあります
これらのフォームを呼び出すための私の JavaScript 関数:
function editProduct(id) {
$("#add-product").hide();
if (CKEDITOR.instances['editor']) {
CKEDITOR.remove(CKEDITOR.instances['editor']);
}
$("#edit-product").load(homeurl+"/admin/edit/product",{id:id},function(){
$.getScript(homeurl+"/js/jquery.MultiFile.js");
$("#edit-product").find("#editor").ckeditor();
$("#edit-product").show();
});
}
そのため、CKEditor インスタンスが存在する場合はそれを破棄します。最初のページの読み込みとフォームを開くと、すべてが正常に機能しますが、編集フォームを開いた後に他のリンクをクリックすると、別のセクションが開き、CKEditor が表示されますが、POST データは送信されません。jQuery を使用してデータを送信することはありません。次のように iframe にデータを渡します。
<form action="/admin/add/product" enctype="multipart/form-data" method="post" target="upload_iframe">
データを送信した後、この JavaScript 関数を使用して動的コンテンツを更新します (エディター インスタンスもチェックして破棄します)。
function showPage(page) {
act_page = page;
$("#dynamic-content").load(homeurl+"/admin/getpage",{page:page},function(){
if (CKEDITOR.instances['editor']) {
CKEDITOR.remove(CKEDITOR.instances['editor']);
}
$('html,body').find('#editor').ckeditor();
});
}