테스트 사이트 - 개발 중인 베타 버전입니다

댓글 입력란 원래위치로 보내기

· 1년 전 · 613269 · 5

그누보드는 새로운 댓글 입력란이 [댓글 수정]이나 [댓글 답변]을 할 때 새로운 위치로 움직입니다.

이 상태에서 [댓글 수정]이나 [댓글 답변]을 하지 않고 [새로운 댓글]을 입력하려고 하면, 입력란을 기본 위치로 돌리기 위해 페이지를 새로고침하거나 다시 접속해야 하는 불편함이 있습니다.

 

이를 해소하기 위해, [댓글 수정]이나 [댓글 답변] 버튼을 같은 위치에서 다시 누르면 기본 자리로 돌아가도록 하는 방법입니다:

 

사용하시는 게시판 스킨의 [view_comment.skin.php]에서 'comment_box' 함수 스크립트의 다음 부분을 찾아:

[code]

...

function comment_box(comment_id, work) {
    var el_id,
        form_el = 'fviewcomment',
        respond = document.getElementById(form_el);

 

    // 댓글 아이디가 넘어오면 답변, 수정
    if (comment_id) {
        if (work == 'c')
            el_id = 'reply_' + comment_id;
        else
            el_id = 'edit_' + comment_id;
    }

    ...

}

...

[/code]

 

다음과 같이 고쳐줍니다.

[code]

...

+ var c_last = '';
function comment_box(comment_id, work) {
    var el_id,
        form_el = 'fviewcomment',
        respond = document.getElementById(form_el);

+    if ( c_last == (comment_id + work) ) {

+        comment_box('', 'c');

+        c_last = '';
+    } else {
        // 댓글 아이디가 넘어오면 답변, 수정
        if (comment_id) {
            if (work == 'c')
                el_id = 'reply_' + comment_id;
            else
                el_id = 'edit_' + comment_id;
+            c_last = comment_id + work;
        }

        ...

+    }

}

...

[/code]

(앞쪽 + 기호는 지우셔야 합니다.)

 

[댓글 수정], [댓글 답변] 버튼을 누를 때 실행되는 스크립트에, 임의로 'c_last' 변수를 더해 확인하도록 하여 토글버튼처럼 기능하게 하였습니다.

 

한 번 누른 댓글의 버튼을 다시 누르면 원래 자리로 돌아가고, 다른 댓글의 버튼을 누르면 해당 댓글로 이동합니다.

 

감사합니다.

 

 

다른 회원님의 해결방법:

https://sir.kr/g5_tip/3514

https://sir.kr/g5_tip/19283

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 5개

감사합니다 ^^

*[댓글 수정]과 [댓글 답변]을 오갈때도 올바로 작동하도록 고쳤습니다.

감사합니다 

감사합니다.

많은 도움이 됩니다.

게시판 목록

그누보드5 팁자료실

글쓰기
🐛 버그신고