에디터 안의 글내용 바꾸기 정보
에디터 안의 글내용 바꾸기관련링크
본문
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=87124&sca=&sfl=wr_subject&stx=%BF%A1%B5%F0%C5%CD&spt=-26654&page=2
=================================================================
<input type=checkbox value='잘부탁드립니다.' onclick="if(this.checked==true) editor.document.body.innerText = this.value; else editor.document.body.innerText = ''">문자넣기
html 형식으로 값을 넣으려면 ...
editor.document.body.innerText 대신 editor.document.body.innerHTML을 사용하시면...
넣을 값에 태그 사용도 가능합니다.
===================================================================
팁은 이제는 적용이 안되더군요 ㅠ.ㅠ
2일 밤을 꼬박 샜습니다....별짓 다 해 봤습니다. 온갖 객체를 붙여 넣어도 봤고..
모든 ilb 파일과 cheditor4 폴더안의 js파일도 모조리 보고, 해결못했습니다..ㅠ.ㅠ
제발..
모든 포인트 다 겁니다..
화면이 열린 다음 (dhtml 에디터가 로드된 다음) 입력값을 바꾸는 방법이 없을까요.................
제발 부탁드립니다. ㅠ.ㅠ
에디터 이외는 모두 적용 됩니다. 그누보드의 cheditor 4 버젼에서 입력된 내용을 바꾸는 것은
윈도우 onload 할때나 수정할때 말고는 절대로 불가능 할까요??
고수님들 제발 부탁드릴께요 ㅠ.ㅠ
=================================================================
<input type=checkbox value='잘부탁드립니다.' onclick="if(this.checked==true) editor.document.body.innerText = this.value; else editor.document.body.innerText = ''">문자넣기
html 형식으로 값을 넣으려면 ...
editor.document.body.innerText 대신 editor.document.body.innerHTML을 사용하시면...
넣을 값에 태그 사용도 가능합니다.
===================================================================
팁은 이제는 적용이 안되더군요 ㅠ.ㅠ
2일 밤을 꼬박 샜습니다....별짓 다 해 봤습니다. 온갖 객체를 붙여 넣어도 봤고..
모든 ilb 파일과 cheditor4 폴더안의 js파일도 모조리 보고, 해결못했습니다..ㅠ.ㅠ
제발..
모든 포인트 다 겁니다..
화면이 열린 다음 (dhtml 에디터가 로드된 다음) 입력값을 바꾸는 방법이 없을까요.................
제발 부탁드립니다. ㅠ.ㅠ
에디터 이외는 모두 적용 됩니다. 그누보드의 cheditor 4 버젼에서 입력된 내용을 바꾸는 것은
윈도우 onload 할때나 수정할때 말고는 절대로 불가능 할까요??
고수님들 제발 부탁드릴께요 ㅠ.ㅠ
댓글 전체
안녕하세요.
만약, cheditor를 사용중이시고 cheditor.js 파일에 아래 함수가 없다면 추가합니다.
appendContents : function (contents) {
this.editArea.focus();
var div = this.doc.createElement('div');
div.innerHTML = '' + this.trimSpace(contents);
while (div.hasChildNodes())
this.doc.body.appendChild(div.firstChild);
this.editArea.focus();
},
insertContents : function (contents) {
this.editArea.focus();
this.setSelection();
this.doCmdPaste(''+this.trimSpace(contents));
},
replaceContents : function (contents) {
this.editArea.focus();
this.doc.body.innerHTML = '';
this.loadContents(contents);
this.editArea.focus();
},
설명:
appendContents() - 현재 에디터에 입력되어 있는 내용의 끝에 contents를 추가합니다.
insertContents() - 현재 에디터 내의 커서가 위치한 곳에 contents를 추가합니다.
replaceContents() - 현재 에디터의 내용을 contents로 대체합니다.
예:
<input type="checkbox" value='잘부탁드립니다.' onclick="if (this.checked==true) editor.replaceContents(this.value) else editor.replaceContents('');">문자넣기
만약, cheditor를 사용중이시고 cheditor.js 파일에 아래 함수가 없다면 추가합니다.
appendContents : function (contents) {
this.editArea.focus();
var div = this.doc.createElement('div');
div.innerHTML = '' + this.trimSpace(contents);
while (div.hasChildNodes())
this.doc.body.appendChild(div.firstChild);
this.editArea.focus();
},
insertContents : function (contents) {
this.editArea.focus();
this.setSelection();
this.doCmdPaste(''+this.trimSpace(contents));
},
replaceContents : function (contents) {
this.editArea.focus();
this.doc.body.innerHTML = '';
this.loadContents(contents);
this.editArea.focus();
},
설명:
appendContents() - 현재 에디터에 입력되어 있는 내용의 끝에 contents를 추가합니다.
insertContents() - 현재 에디터 내의 커서가 위치한 곳에 contents를 추가합니다.
replaceContents() - 현재 에디터의 내용을 contents로 대체합니다.
예:
<input type="checkbox" value='잘부탁드립니다.' onclick="if (this.checked==true) editor.replaceContents(this.value) else editor.replaceContents('');">문자넣기
정말 감사합니다!! 한줄기 빛처럼 다가왔습니다!!!!
하지만 ,해보았는데 개체가 없다고 나옵니다.ㅠ.ㅠ
먼저 시도해 보고,
글 내용이 ed_wr_content 이라,
ed_wr_content.replaceContents(this.value) 로 해보았는데 도 개체가 없다고 나오네요 ㅠ.ㅠ
하지만 ,해보았는데 개체가 없다고 나옵니다.ㅠ.ㅠ
먼저 시도해 보고,
글 내용이 ed_wr_content 이라,
ed_wr_content.replaceContents(this.value) 로 해보았는데 도 개체가 없다고 나오네요 ㅠ.ㅠ
editor는 cheditor의 개체입니다.
개체가 없다고 나온다면 editor가 new CHEditor로 생성되었는 지 확인할 필요가 있어 보입니다.
맞다면 추가하신 함수들이 cheditor 프로토타입에 포함되어 있는 지도 확인하십시오.
개체가 없다고 나온다면 editor가 new CHEditor로 생성되었는 지 확인할 필요가 있어 보입니다.
맞다면 추가하신 함수들이 cheditor 프로토타입에 포함되어 있는 지도 확인하십시오.
일단,
editor 는 정의되지 않았습니다. 라고 나옵니다.
ed_wr_content. 로하면 this.body.doc 은 개체가 아닙니다. 라고 나옵니다.
바로 찾아보고 다시 알려드릴꼐요
소스보기로 보면,
var ed_wr_content = new cheditor('ed_wr_content');
ed_wr_content.config.editorHeight = '250';
ed_wr_content.config.editorWidth = '100%';
ed_wr_content.config.imgReSize = false;
ed_wr_content.config.fullHTMLSource = false;
ed_wr_content.config.editorPath = '../cheditor4';
ed_wr_content.inputForm = 'tx_wr_content';
로 처음에 정의 합니다.
제가 위의 답변을 천천히 읽어보니
다음과 같은
"에디터 내의 커서가 위치한 곳에 " 말이 있어 함수를 보니,
this.editArea.focus(); 라는 함수가 들어있던데
일단, 체크 함과 동시에 커서는 edtior 내에 위치 합니다.
그다음에 에러가 뜹니다.
그래서 프로토 타입에 찾아가서 그부분을 주석처리 하니
그 다음에서 또 에러가 뜹니다;;
그래서 그부분(loadContent)도 주석처리 했더니
일단, 에러는 안뜹니다;;
this.editArea.focus(); 는 잘되는 것 같습니다
혹시나 해서 replace 함수의 두번째 문장을
this.editArea.body 로 하니
메시지: 'this.editArea.body'은(는) null 이거나 개체가 아닙니다.
줄: 218
문자: 5
코드: 0
URI: /cheditor4/cheditor.js
가 뜹니다.
또 혹시나 해서
'this.editArea.innerHTML 하니
메시지: 개체가 이 속성 또는 메서드를 지원하지 않습니다.
줄: 219
문자: 5
코드: 0
URI: cheditor4/cheditor.js
그런데, 'this.editArea.innerHTML은 218번쨰 줄입니다.
그러나, 다른 소스를 살펴보니
this.editArea.document.body.innerHTML 로 쓰고 있어서
그렇게 고쳤습니다.
그러나
똑같은 오류가 납니다(loadContents 가 문제)
일단, 다른곳을 찾아 보았는데,
loadContents 는 함수는 없고, 변수값만 있습니다.
따라서, resetEditArea 함수도 써보고
this.editArea.document.body.innerHTML = contents;
도 해보고
this.editArea.document.write(contents);
도 해봤는데
소용이 없습니다...
ㅠ.ㅠ
아.. 3일밤을 새우는..아 낮이구나...
editor 는 정의되지 않았습니다. 라고 나옵니다.
ed_wr_content. 로하면 this.body.doc 은 개체가 아닙니다. 라고 나옵니다.
바로 찾아보고 다시 알려드릴꼐요
소스보기로 보면,
var ed_wr_content = new cheditor('ed_wr_content');
ed_wr_content.config.editorHeight = '250';
ed_wr_content.config.editorWidth = '100%';
ed_wr_content.config.imgReSize = false;
ed_wr_content.config.fullHTMLSource = false;
ed_wr_content.config.editorPath = '../cheditor4';
ed_wr_content.inputForm = 'tx_wr_content';
로 처음에 정의 합니다.
제가 위의 답변을 천천히 읽어보니
다음과 같은
"에디터 내의 커서가 위치한 곳에 " 말이 있어 함수를 보니,
this.editArea.focus(); 라는 함수가 들어있던데
일단, 체크 함과 동시에 커서는 edtior 내에 위치 합니다.
그다음에 에러가 뜹니다.
그래서 프로토 타입에 찾아가서 그부분을 주석처리 하니
그 다음에서 또 에러가 뜹니다;;
그래서 그부분(loadContent)도 주석처리 했더니
일단, 에러는 안뜹니다;;
this.editArea.focus(); 는 잘되는 것 같습니다
혹시나 해서 replace 함수의 두번째 문장을
this.editArea.body 로 하니
메시지: 'this.editArea.body'은(는) null 이거나 개체가 아닙니다.
줄: 218
문자: 5
코드: 0
URI: /cheditor4/cheditor.js
가 뜹니다.
또 혹시나 해서
'this.editArea.innerHTML 하니
메시지: 개체가 이 속성 또는 메서드를 지원하지 않습니다.
줄: 219
문자: 5
코드: 0
URI: cheditor4/cheditor.js
그런데, 'this.editArea.innerHTML은 218번쨰 줄입니다.
그러나, 다른 소스를 살펴보니
this.editArea.document.body.innerHTML 로 쓰고 있어서
그렇게 고쳤습니다.
그러나
똑같은 오류가 납니다(loadContents 가 문제)
일단, 다른곳을 찾아 보았는데,
loadContents 는 함수는 없고, 변수값만 있습니다.
따라서, resetEditArea 함수도 써보고
this.editArea.document.body.innerHTML = contents;
도 해보고
this.editArea.document.write(contents);
도 해봤는데
소용이 없습니다...
ㅠ.ㅠ
아.. 3일밤을 새우는..아 낮이구나...
근데.... 궁금한것이... 왜 함수들이 빠졌을까요? 이전 버젼이라서 그런가..
그런데 왜 이전버젼에서 먹히는 것도 안될까요?
불당님 홈페이지에서의 코드도 안먹히더라구요.. 2007년 버젼..
불당팩꺼 받아서... loadcontents 함수를 받아볼까요...
그런데 왜 이전버젼에서 먹히는 것도 안될까요?
불당님 홈페이지에서의 코드도 안먹히더라구요.. 2007년 버젼..
불당팩꺼 받아서... loadcontents 함수를 받아볼까요...
구 버전이라서 그렇군요.
replaceContents : function (contents) {
this.editArea.focus();
this.editArea.document.body.innerHTML = contents;
},
replaceContents : function (contents) {
this.editArea.focus();
this.editArea.document.body.innerHTML = contents;
},
감사합니다!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 슈퍼코브라님!!!!!
진정한 슈퍼코브라십니다!
editArea.document.body.innerHTML 앞에 this를 안넣거나
고정관념에;;; 4개로 조합만 했었네요;; 아니군요 넣었던적도 있었는데
focus 가 엄청 중요했었네요
어쨋든 정말 너무 감사드립니다.
다시한번 감사합니다
돈벌면 슈퍼코브라 송이라도 지어받칠께요
이제 잘 수 있겠군요...72시간넘었어요~ 감사합니다. 생명의 은인!!!
진정한 슈퍼코브라십니다!
editArea.document.body.innerHTML 앞에 this를 안넣거나
고정관념에;;; 4개로 조합만 했었네요;; 아니군요 넣었던적도 있었는데
focus 가 엄청 중요했었네요
어쨋든 정말 너무 감사드립니다.
다시한번 감사합니다
돈벌면 슈퍼코브라 송이라도 지어받칠께요
이제 잘 수 있겠군요...72시간넘었어요~ 감사합니다. 생명의 은인!!!
그러니까.. 종합 정리 입니다.
1. cheditor4 / cheditor.js 파일 에 prototype 안에
다음 함수를 넣는다
replaceContents : function (contents) {
this.editArea.focus();
this.editArea.document.body.innerHTML = contents;
},
2.일반적인 그누보드4 최신 버젼 이라면,
<input type="checkbox" value='잘부탁드립니다.' onclick="if (this.checked==true) ed_wr_content.replaceContents(this.value) else ed_wr_content.replaceContents('');">
또는
<input type="checkbox" value='1' onclick="cont_xxx()" name="wr_content"><?=$content$?>
하고 cont_xxx() 자바스크립트 함수를 만들어 조건을 넣어 체크 한방에 한꺼번에 필드를 다 채울 수 있다.
특히 안되었던 DHTML 에디터의 글내용까지
이상입니다 ㅎㅎ
1. cheditor4 / cheditor.js 파일 에 prototype 안에
다음 함수를 넣는다
replaceContents : function (contents) {
this.editArea.focus();
this.editArea.document.body.innerHTML = contents;
},
2.일반적인 그누보드4 최신 버젼 이라면,
<input type="checkbox" value='잘부탁드립니다.' onclick="if (this.checked==true) ed_wr_content.replaceContents(this.value) else ed_wr_content.replaceContents('');">
또는
<input type="checkbox" value='1' onclick="cont_xxx()" name="wr_content"><?=$content$?>
하고 cont_xxx() 자바스크립트 함수를 만들어 조건을 넣어 체크 한방에 한꺼번에 필드를 다 채울 수 있다.
특히 안되었던 DHTML 에디터의 글내용까지
이상입니다 ㅎㅎ
thx~