포럼
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
댓글창을 <textarea>로 만들고<br> 자동입력
2011.04.10 16:28
얼마 전에 방명록 보완하면서 방명록은 한번에 보는 글 수도 많아
문서 하나하나마다 에디터로 불러오면 너무 브라우저 로딩이 심하길래
<textarea>로 댓글입력창을 교체했습니다.
댓글을 에디터 불러옴 없이 <textarea> 이렇게 한줄로 처리하니 가볍고 좋았는데.. 근데..
글을 쓰고 엔터를 쳐도 글입력시에는 엔터로 줄바꿈이 되지만, 정작 등록된 글은 엔터없이 띄어쓰기만 되네요.
예를 들면, 'aaa (엔터) bbb' 라고 입력하면 입력 후 본문 글에서는 'aaa bbb' 이렇게 보입니다.
----------
해결하려고 다음의 방법을 뒤져봤는데..
1. xpresseditor 의 'html 사용없이 자동줄바꿈' 이란 기능을 보고 나름 js 등 같은 방식(?)으로 구현.
2. 모바일 스킨은 <textarea>로 글 입력하는데 줄바꿈이 되길래 따라해봤더니 -> 모바일스킨 코드를 그대로 일반 스킨 코드로 가져와도 모바일 보기에서는 줄바꿈이 되고, 일반 웹브라우저 보기에서는 줄바꿈이 안되네요.. 아무리 봐도 차이를 모르겠는데 ㅠ.ㅠ
3. 소셜XE -> 아래 난다날아님 답변처럼 n2br php함수(?)
------------
<우선 1번의 방법으로 해결함>
- 아래 코드는 xpresseditor의 textarea.js 부분에서 가져와 필요한 부분만 수정한 겁니다.
php을 제가 몰라 일단 당장 보이는 에디터를 건드렸는데,
너무 비효율적인 것 같아 다른 분들의 의견을 듣고자 합니다.
php로 간단히 처리하는 방법이 있다면 알려주심 감사하겠습니다.
ps. 그리고 모바일 스킨에서는 특별한 코드없이 줄바꿈이 되는 데요, 이유를 알 수 있을까요? 이유가 답이겠죠? ^^;;
--------- 이하 수정한 코드 ------------
1. view_document.html 댓글창 부분
2. board.js 에 다음 추가
-----------
문서 하나하나마다 에디터로 불러오면 너무 브라우저 로딩이 심하길래
<textarea>로 댓글입력창을 교체했습니다.
댓글을 에디터 불러옴 없이 <textarea> 이렇게 한줄로 처리하니 가볍고 좋았는데.. 근데..
글을 쓰고 엔터를 쳐도 글입력시에는 엔터로 줄바꿈이 되지만, 정작 등록된 글은 엔터없이 띄어쓰기만 되네요.
예를 들면, 'aaa (엔터) bbb' 라고 입력하면 입력 후 본문 글에서는 'aaa bbb' 이렇게 보입니다.
----------
해결하려고 다음의 방법을 뒤져봤는데..
1. xpresseditor 의 'html 사용없이 자동줄바꿈' 이란 기능을 보고 나름 js 등 같은 방식(?)으로 구현.
2. 모바일 스킨은 <textarea>로 글 입력하는데 줄바꿈이 되길래 따라해봤더니 -> 모바일스킨 코드를 그대로 일반 스킨 코드로 가져와도 모바일 보기에서는 줄바꿈이 되고, 일반 웹브라우저 보기에서는 줄바꿈이 안되네요.. 아무리 봐도 차이를 모르겠는데 ㅠ.ㅠ
3. 소셜XE -> 아래 난다날아님 답변처럼 n2br php함수(?)
------------
<우선 1번의 방법으로 해결함>
- 아래 코드는 xpresseditor의 textarea.js 부분에서 가져와 필요한 부분만 수정한 겁니다.
php을 제가 몰라 일단 당장 보이는 에디터를 건드렸는데,
너무 비효율적인 것 같아 다른 분들의 의견을 듣고자 합니다.
php로 간단히 처리하는 방법이 있다면 알려주심 감사하겠습니다.
ps. 그리고 모바일 스킨에서는 특별한 코드없이 줄바꿈이 되는 데요, 이유를 알 수 있을까요? 이유가 답이겠죠? ^^;;
--------- 이하 수정한 코드 ------------
1. view_document.html 댓글창 부분
<form action="./" method="post" onsubmit="jQuery(this).find('input').each(function(){if(this.title==this.value)this.value='';});return procFilter(this, insert_comment)" editor_sequence="{$oDocument->document_srl}">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$oDocument->document_srl}" />
<input type="hidden" name="comment_srl" value="" />
<textarea id="editor_{$oDocument->document_srl}" name="content"></textarea>
<input type="submit" value="{$lang->cmd_registration}" />
</div>
</form>
<script type="text/javascript">
editorStartTextarea({$oDocument->document_srl}, "content", "comment_srl");
</script>2. board.js 에 다음 추가
var editorRelKeys = new Array();
function editorStartTextarea(editor_sequence, content_key, primary_key) {
var obj = xGetElementById('editor_'+editor_sequence);
obj.form.setAttribute('editor_sequence', editor_sequence);
editorRelKeys[editor_sequence] = new Array();
editorRelKeys[editor_sequence]["primary"] = obj.form[primary_key];
editorRelKeys[editor_sequence]["content"] = obj.form[content_key];
editorRelKeys[editor_sequence]["func"] = editorGetContentTextarea;
var content = obj.form[content_key].value;
content = content.replace(/<br([^>]*)>/ig,"\n");
content = content.replace(/</g, "<");
content = content.replace(/>/g, ">");
content = content.replace(/"/g, '"');
content = content.replace(/&/g, "&");
obj.value = content;
}
function editorGetContentTextarea(editor_sequence) {
var obj = xGetElementById('editor_'+editor_sequence);
var content = obj.value.trim();
content = content.replace(/&/g, "&");
content = content.replace(/</g, "<");
content = content.replace(/>/g, ">");
content = content.replace(/\"/g, """);
content = content.replace(/(\r\n|\n)/g, "<br />");
return content;
}
-----------
댓글 4
글쓴이 | 제목 | 최종 글 |
---|---|---|
시니시즘 | [시니시즘] '내용을 입력해주세요' 무시하기 팁 [6] | 2011.05.16 by 앙까? |
앙까? | "XE 프로젝트 호스팅 이전 및 종료 공지"를 보고 [6] | 2011.05.16 by Garon |
Thejeon | 처음으로 모듈을 만들어보는데.. [5] | 2011.05.13 by 라르게덴 |
정찬명 | fsfsdas님의 궁금증에 개인 의견으로 답변드립니다. [9] | 2011.05.08 by 쏭바강 |
정찬명 | XE 코어 1.5 배포 일정이 변경된 이유. [14] | 2011.05.07 by 토비코비 |
Garon | 여러 모듈등, 버그를 잡기 위한 엔진....아이디어(?) [3] | 2011.05.04 by Cody |
burster | 축하해 주십시요~~~!!! 난다날아님 회원확장모듈... [3] | 2011.05.03 by 인간a |
ForHanbi | XE 사이트 게시판 오류 [1] | 2011.05.03 by 인간a |
Cody | 이슈트래커 세션타임아웃 시 로그아웃 되는 현상 | |
SMaker | 1.5.0 브랜치 업데이트 좀 해주세요~ | |
착한악마 | 글작성 완료 페이지는 도대체 어디에? [4] | 2011.05.02 by 착한악마 |
Cody | [질문] XpressEditor에서의 <P>태그 처리하기... | |
obok | 버그 신고 | |
NetCabin | 신문법 쿼리 unload 사용 되시는분들 있나요? [8] | 2011.04.29 by Cody |
정찬명 | 지금 사용하는 게시판에 만족하시나요? [31] [1] | 2011.05.18 by 오신사 |
푸름빠 | 제로보드xe로 동시접속자 300명까지 감당이 될까요? [4] | 2011.04.27 by 마일드^^ |
토비코비 | XE 강의도 있었으면 합니다. [1] | 2011.04.27 by 마일드^^ |
Treasurej | 앱에서 글쓰기 됐으면 좋겠네요.^^ | |
씨지 | 모듈확장시 queries xml 파일도 확장(override)시킬 수 있는건가요? [2] | 2011.04.22 by 씨지 |
에혀라X | 1.4.5 업뎃이후 가상호스트 접속문제 [1] | 2011.04.20 by senate |