2013-07-16 4 views
1
가 나는 $(document).ready(.. 방법으로 그들 각각에 대한 CKonBlur 하나를 호출하여 내 텍스트 영역의 각을 등록

제출 된 데이터 전에 끝날 때까지 기다립니다CKEDIT GetData의 : 방법은

function CKonBlur(name) { 
    CKEDITOR.instances[name].on('blur', function() { 
     CKsync(name); // push HTML data from CKEDITOR into the associated textarea 
     storeNotifications(name); // submit the textarea to the server 
    }); 
} 


function CKsync(name) { 
    $("textarea#" + name).val(CKEDITOR.instances[name].getData()); 
} 

불행하게도 보인다 getData 비동기 내가 있음 데이터를 제출하기 전에 완료되기를 기다리는 방법을 간단히 알 수 없습니다 (!).

질문 : storeNotifications 메서드를 호출하기 전에 getData이 완료되었는지 어떻게 확인할 수 있습니까?

는 또한 (그냥 브라우저 충돌) 어떤 성공없이 checkDirty을 사용하려고했습니다

function CKsync(name) { 
    while (CKEDITOR.instances[name].checkDirty() == true); 
    { 
     // do nothing 
    } 
    $("textarea#" + name).val(CKEDITOR.instances[name].getData()); 
} 

답변

1

내가 getData() 비동기 아니라고 100 % 확신한다. setData()이지만, getData()은 그렇지 않습니다. 그것은 값을 반환하기 때문에 될 수 없습니다. 어딘가에 다른 버그가 있습니다.

+0

나는 버그는 아닙니다. 일단 storeNotifications를 변경하고 CKEDITOR.instances [name] .getData()의 응답을 넘겨 주면 모든 경우에 즉시 올바르게 작동합니다 ... – MrG

관련 문제