2010-12-06 4 views
2

저는 작업중인 프로젝트에서 CKEditor 및 jQuery 유효성 검사 플러그인을 사용하고 있습니다.CKEditor 및 jQuery 유효성 검사에 일반 코드 사용

지난 몇 일간 StackOverflow.com에서 몇 가지 유용한 게시물을 읽었습니다. 덕분에 CKEditor가 유효성을 확인하는 데 정말로 도움이되었습니다. 감사합니다.

코드를 복제하거나 ID별로 각 인스턴스를 지정하지 않고도 한 편집기 인스턴스를 나머지 프로젝트에 처리하도록 작성한 코드를 배포하고 싶습니다. 내 고객의 사양 덕분에 많은 페이지에 많은 것들이 있습니다.

내 페이지의 바닥 글에있는 코드는 다음과 같습니다

$(document).ready(function() { 
CKEDITOR.instances["itissue"].on("instanceReady", function() { 
    // Set keyup event 
    this.document.on("keyup", updateValue); 

    // Set paste event 
    this.document.on("paste", updateValue); 
}); 

function updateValue() { 
    CKEDITOR.instances.itissue.updateElement(); 
    $("#itissue").trigger('keyup');     
} 
}); 

itissue 내 인스턴스의 ID입니다 ID는 각 페이지에 다릅니다. "모든 텍스트 영역"에 대한 일종의 일반적인 식별자로 대체해야하지만 내 프로그래밍 및 인터넷 검색 기술이 만료 된 곳입니다. 내가 대신의 keyup를보고 onKeyUp에 updateElement를 호출, 제출 핸들러 내 편집자의 유효성을 검사 할

답변

2

사람이 어떤 아이디어가 있으면 내가 올바른 방향으로 찔러 감사하겠습니다 ....

에 질문에 대답하려면 CKEDITOR.instances 개체을 반복해야합니다.

// validator submit handler 
var submitHandle = function(){ 
    for(var name in CKEDITOR.instances){ 
     CKEDITOR.instances[name].updateElement(); // update all instances of ckEditors 
    } 
    // proceed with validation check 
}; 

이렇게하면 편집기 인스턴스의 이름을 알 필요가 없습니다.

+1

도움을 주셔서 감사합니다. Josiah, 필드 수정시 사라질 오류 메시지가 필요했기 때문에 제안한 반복과 내 코드가 혼합되어 사용되었습니다. –

+0

Doesnt work ....... –

4

다음은이 문제를 해결하는 데 사용 된 코드입니다. 향후 누군가에게 유용하게 사용되기를 바랍니다.

<script type="text/javascript"> 
$(document).ready(function() { 
    for(var name in CKEDITOR.instances) { 
     CKEDITOR.instances[name].on("instanceReady", function() { 
      // Set keyup event   
      this.document.on("keyup", updateValue); 
      // Set paste event 
      this.document.on("paste", updateValue);  
     }); 

     function updateValue() { 
      CKEDITOR.instances[name].updateElement(); 
      $('textarea').trigger('keyup'); 
     } 
    }  
}); 
</script> 
+0

고마워요 - 저에게 효과가있는 첫 번째. – ronaldosantana

관련 문제