Q&A

onclick 함수 2개 지정 질문드립니다.

2022.05.13 02:03
1,469
0
CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 7.2

새로고침 없는 추천/비추천/신고 모듈을 사용중입니다.

AJAX로 추천을 눌러도 새로고침 없이 반영이 되는 모듈인데, 추천에 한정해서 누를 경우 자동 새로고침을 하려고 합니다.

 

그래서 해당 모듈 스킨의 vote.html 에서 아래 부분을 추가했습니다

 

<button type="button" class="vb-btn vb-white" onClick="vote_doVote('Up','{$document_srl}');"window.location.reload()";return false;" cond="$use_voteBtn!='N'">
        <span class="lang">
            <i class="xi-thumbs-up" style="color:#F94966"></i>
                <!--@if($lang_vote)-->{$lang_vote}<!--@else-->{$lang->voted_count}<!--@end-->
        </span>
        <span class="num" id="vm_v_count">
            {$voted_count}
        </span>
    </button>

 

 

수정했는데 추천 카운트만 올라가고 새로고침으로 이어지지가 않네요.

어디가 잘못된걸까요?

 

JEPI Lv. 2

댓글 5

  • 2022.05.13 02:21 #1685475

    1. 함수를 따옴표로 감싸시면 그냥 문자열이 됩니다. 중간에 문자열 하나 끼워들어가있으니 아무 변화도 없는것이죠
    2. 그렇다고 따옴표를 그냥 빼는걸로 해결이되지 않을수 있는것이 vote_doVote 함수 구현 방식에 따라 다르지만 exec_json 등 비동기 방식으로 동작시 따옴표를 빼버리면 앞선 vote_doVote 함수가 미처 실행되기 전 페이지가 새로고침되어버릴수 있습니다.
    3. 추천 부분만 기존 라이믹스가 사용하는 추천 코드를 넣는것이 제일 깔끔할것 같습니다(기본적으로 완료후 새로고침되죠)

  • 2022.05.13 02:27 #1685481
    답변 감사드립니다.
    라이믹스 기본 추천 코드는 xedition 게시판 스킨의 추천 코드도 해당될까요?
  • 2022.05.13 02:45 #1685490
    네. xedition 스킨의 추천부분 참고하시면 될겁니다. 다만 해당스킨에서 추천함수도 따로 가져오셔야 할수 있습니다
  • 2022.05.13 02:49 #1685498
    onclick 함수를 라이믹스 기본 추천 함수로 교체했더니 정상 적용되었습니다. 감사합니다!
  • 2022.05.13 02:48 #1685494
    스킨에서 정의한 vote_doVote 함수가 어떻게 구현되어 있는지는 모르겠지만, 추천 관련된 기능을 손보고 싶으시다면 그 함수를 찾아서 내용을 바꾸거나 추가하는 것이 가장 자연스러울 것 같습니다.

    그런데 추천 후 추천수를 +1 해주기 위해 페이지 전체를 새로고침하는 것은 낭비지요. 밑에 {$voted_count} 부분만 jQuery로 업데이트해 주면 되는데... 아마 이것도 함수 수정으로 가능할 거예요.