2007년 01월 30일
TinyMCE사용시 onSubmit 자바스크립트 함수 호출 문제
TinyMCE와 FCKEditor중에서 뭘로 웹 에디터를 사용할까 고민하다가 TinyMCE로 결정했다.
다양한 브라우져 지원을 위한 노력이 돋보였고, 기능상으로도 만족할 만한 수준이기 때문이다.
헌데, 기존의 textarea를 가진 폼이 submit 될 때 onsubmit 에 지정된 함수가 호출되는데, TinyMCE를 적용한 뒤 부터 이게 두번을 클릭해야 제대로 작동하거나, 폼에 대한 유효성 검증을 제대로 못하거나 하는 현상이 생겼다.
그 첫번째 문제가 직전에 설명한, focus() 문제이고, 두번째 문제로, TinyMCE 를 사용할 때는 onsubmit 호출시 특별한 작업을 해야 한다는 것이다.
위 처럼 tinyMCE.triggerSave(); 메소드를 먼저 호출해줘야 한다.
이에 대해서는 http://tinymce.moxiecode.com/punbb/viewtopic.php?id=28에서 알게 되었다.
추가 : 2007/01/31
TinyMCE에 에디터에 입력한 내용을 삭제하려면, JavaScript에서 tinyMCE.setContent("");을 호출하면된다.
다양한 브라우져 지원을 위한 노력이 돋보였고, 기능상으로도 만족할 만한 수준이기 때문이다.
헌데, 기존의 textarea를 가진 폼이 submit 될 때 onsubmit 에 지정된 함수가 호출되는데, TinyMCE를 적용한 뒤 부터 이게 두번을 클릭해야 제대로 작동하거나, 폼에 대한 유효성 검증을 제대로 못하거나 하는 현상이 생겼다.
그 첫번째 문제가 직전에 설명한, focus() 문제이고, 두번째 문제로, TinyMCE 를 사용할 때는 onsubmit 호출시 특별한 작업을 해야 한다는 것이다.
<script type="text/javascript">
function checkForm() {
tinyMCE.triggerSave();
// 기타 폼 유효성 검증 작업
return true; // 혹은 false;
}
</script>
...
<form name="write" id="write" onsubmit="return checkForm();">
...
</form>
위 처럼 tinyMCE.triggerSave(); 메소드를 먼저 호출해줘야 한다.
이에 대해서는 http://tinymce.moxiecode.com/punbb/viewtopic.php?id=28에서 알게 되었다.
추가 : 2007/01/31
TinyMCE에 에디터에 입력한 내용을 삭제하려면, JavaScript에서 tinyMCE.setContent("");을 호출하면된다.
# by | 2007/01/30 10:08 | 프로그래밍 | 트랙백 | 덧글(0)







☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]