XE

대댓글 페이지 이동 없이 바로 입력

by 이온디 posted Nov 01, 2022
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form

1. 대댓글 버튼

<button cond="$oDocument->allowComment()" class="re_comment" onclick="<!--@if(!$grant->write_comment || !$oDocument->isEnableComment())-->alert('{$lang->msg_not_permitted}')<!--@else-->reComment({$comment->get('document_srl')},{$comment->get('comment_srl')},'{getUrl('act','dispBoardReplyComment','comment_srl',$comment->comment_srl)}')<!--@end-->;return false;">
 대댓글
</button>

먼저 각 댓글마다 대댓글을 호출하는 버튼을 위와 같이 만들었습니다.

reComment(document_srl, comment_srl, edit_url) 이라는 함수를 실행하고 있습니다.

먼저 이 함수는 실행이 잘 됩니다....


2. script

// 대댓글 돔 구조 변경
function reComment(doc_srl,cmt_srl,edit_url){


 var o = jQuery('.comment-form').eq(0);
 o.find('input[name=error_return_url]').val('/'+doc_srl);
 o.find('input[name=mid]').val(current_mid);
 o.find('input[name=act]').val('dispBoardReplyComment');
 o.find('input[name=document_srl]').val(doc_srl);
 o.appendTo(jQuery('#comment_'+cmt_srl)).fadeIn().find('input[name=parent_srl]').val(cmt_srl);
 o.find('a.wysiwyg').attr('href',edit_url);
 o.find('textarea').focus();

 $.getScript('/rx/common/js/plugins/ckeditor/ckeditor/ckeditor.js', function() {
  console.debug('ckeditor.js 로드 성공');
 });

 setTimeout(() => {
  console.log("Delayed for 1 second.");

  $("iframe.cke_wysiwyg_frame.cke_reset").ready(function() {
   var add = "<p><br></p>";
   var body = $("iframe.cke_wysiwyg_frame.cke_reset").contents().find("body");
   body.attr('className','rhymix_content xe_content editable cke_auto_dark_mode cke_editable cke_editable_themed cke_contents_ltr cke_show_borders'); //color_scheme_light
   body.attr('spellCheck','false');
   body.attr('contentEditable','true');
   body.append(add);
  });
 }, "500");
}

3. 글보기+댓글쓰기+댓글리스트

글보기, 댓글쓰기, 댓글리스트가 모두 _read.html에 있습니다.

1) 댓글쓰기

_read.html 에서 댓글을 작성하는 form의 클래스를 comment-form 로 지정해두었습니다.

2의 스크립트가 동작하여 해당 댓글쓰기 폼이 대댓글쓰기 폼으로 각 값이 변경됩니다.

각 값 자체는 정상적으로 변경되고, 원하는 위치에 로드됩니다.

4. 문제는 댓글을 작성하면  '내용 값은 필수입니다.' 라고 뜨고 작성이 안됩니다.

어쩌다 로딩이 잘 될 경우(?) 글작성이 되기도 합니다. 그 때는 파일 첨부도 정상적으로 잘 됩니다.

안될 경우의 문제를 못 찾겠습니다.