2012-03-06 3 views
1

안녕하세요. 매우 큰 시스템의 일환으로 미안합니다. 누락 된 항목이 있으면 놓치지 않을 것입니다.jQuery ajaxForm 및 CKEditor를 저장하지 않아야합니다.

는 지금 모든

을 jQuery를 어댑터 섹션 "편집기 인스턴스와 코드의 상호 작용"의 하단에 ajaxForm http://ckeditor.com/blog/CKEditor_for_jQuery와 함께 작동 CKeditor에 문서를 Accourding jQuerys ajaxForm http://jquery.malsup.com/form/ 및 CKEditor http://ckeditor.com

을 사용하고 내 콘텐츠가 AJAX로 페이지에로드되고 addonLoader라는 함수가이에 전달 된 데이터를 해고 내 양식이 코드

function submitForm(formID){ 
    (function($){ 
     $(".addonContent form textarea.editor").each(function(index, element) { 
      $(this).ckeditor(function(e){ 
       this.updateElement(); 
      }); 
     }); 
     $(formID).submit(function(){  
      // prevent the browser redirect 
      return false; 
     }); 
     $(formID).submit(); 
    })(jQuery) 
} 

을 발사하는 이미지 링크에 의해 submited하는 CKEditor

// check there are not any instance's of CKEditor running 
    $(".addonContent form textarea.editor").each(function(index, element) { 
     $(this).ckeditor(function(){ this.destroy(); }); 
    }); 

    // add the content to the output area 
    $(".addonContent").html(data); 

    // setup Ajax form values 
    AJAXFormOptions = { 
     success:  addonLoader 
    }; 

    // activate ajaxForm on any forms from the data shown 
    $(".addonContent form").ajaxForm(AJAXFormOptions); 
// enable the content editor 
$(".addonContent form textarea.editor").ckeditor({width:"800px"}); 

를 처리하는 함수의 섹션입니다 나는 formID가 정확하다는 것을 확인했지만, 어떤 이유로 그것은 여전히 ​​CKEditor 내부에 배치 된 내용으로 textarea를 업데이트하지 않습니다.이 문제가 있었고 그것을 고치는 법을 알고 있습니까?

+0

여기에 여분의 쉼표가 있습니다. : 성공 : addonLoader, 이는 IE –

+0

을 고치고 수정했지만 오류는 멈추지 않습니다. –

답변

1

updateElement()을 호출하기 위해 사용중인 this은 ckeditor 객체가 아닌 DOM 노드입니다. 이제

$(this).ckeditorGet().updateElement() 

당신이 호출해야합니다

var editor = $('.jquery_ckeditor').ckeditorGet(); 

this.updateElement()을 변경해보십시오 : 당신이 그것을 제공하는 어댑터 링크에

이 문서에서 다음과 같이 에디터 인스턴스에 접근하는 방법을 보여줍니다 편집기 인스턴스의 업데이트

+0

완벽하게 작동합니다. –

관련 문제