추천 이나 비추천 버튼 클릭 시 숨기기

추천 이나 비추천 버튼 클릭 시 숨기기

QA

추천 이나 비추천 버튼 클릭 시 숨기기

본문

게시판에 

추천 버튼 이나 비추천 버튼을 클릭 했을 때 안보이게 하는 방법이 있을까요?

이 질문에 댓글 쓰기 :

답변 2

클라이언트 쪽에서만 작동이 되서 그런겁니다 즉 서버쪽에도 저장을 하셔야지요

다음을 참고하셔서 원하시는 형식으로 구현하시면 되지 않을까 합니다.


<?php 
    // PHP 코드를 이용하여 클릭한 버튼에 따라서 서버로 해당 동작을 전달하고 저장합니다.
    if (isset($_POST['action']) && $_POST['action'] === 'nogood') {
        // 사용자의 동작을 저장하고 처리합니다. 여기서는 예시로 데이터베이스에 저장하도록 합니다.
        // 이 코드는 실제로 데이터베이스에 저장되는 코드로 교체되어야 합니다.
        $bo_table = $_POST['bo_table'];
        $wr_id = $_POST['wr_id'];
        
        // 예시: 데이터베이스에 사용자의 동작을 저장합니다.
        // saveActionToDatabase($bo_table, $wr_id, 'nogood');
    }
?>
<?php if ($board['bo_use_nogood']) { // 비추천 ?>
    <button type="button" onclick="handleButtonClick('<?php echo $bo_table ?>', '<?php echo $wr_id ?>', 'nogood')" class="btn btn-basic" title="비추천">
        <i class="fa fa-thumbs-o-down" aria-hidden="true"></i>
        <b id="결제완료"><?php echo number_format($view['wr_nogood']) ?></b>
        <span class="sr-only">비추천</span>
    </button>
<?php } ?>

<script>
    function handleButtonClick(bo_table, wr_id, action) {
        // 클라이언트 측에서 해당 버튼을 숨기기 전에 서버로 해당 동작을 전달합니다.
        // Ajax를 사용하여 서버와 비동기적으로 통신합니다.
        var xhr = new XMLHttpRequest();
        xhr.open('POST', 'save_action.php', true);
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhr.onreadystatechange = function() {
            if (xhr.readyState === 4 && xhr.status === 200) {
                // 서버로부터 응답을 받았을 때 버튼을 숨깁니다.
                hideButton(document.getElementById(action + 'Button'));
            }
        };
        xhr.send('bo_table=' + encodeURIComponent(bo_table) + '&wr_id=' + encodeURIComponent(wr_id) + '&action=' + encodeURIComponent(action));
    }
    function hideButton(button) {
        // 클라이언트 측에서 버튼을 숨깁니다.
        button.style.display = "none";
    }
</script>

 

방법은 여러가지가 있을 수 있습니다.

코드가 어떻게 되어 있는지 정확히 알 수는 없지만

다음을 참고해 보세요


<button id="recommendButton" onclick="hideButton(this)">추천</button>
<button id="notRecommendButton" onclick="hideButton(this)">비추천</button>
 
<script>
function hideButton(button) {
    button.style.display = "none";
}
</script>

<?php if ($board['bo_use_nogood']) { // 비추천 ?>
<button type="button" onclick="na_good('<?php echo $bo_table ?>', '<?php echo $wr_id ?>', 'nogood', 'wr_nogood'), hideButton(this);" class="btn btn-basic" title="비추천">
<i class="fa fa-thumbs-o-down" aria-hidden="true"></i>
<b id="결제완료"><?php echo number_format($view['wr_nogood']) ?></b>
<span class="sr-only">비추천</span>
</button>
<?php } ?>

</td></tr></table>
<script>
function hideButton(button) {
    button.style.display = "none";
}
</script>

이렇게 배치가 되어 있고, 적용을 하면, 클릭 순간 버튼이 사라지기는 하는데 글을 나갔다 다시 들어가면 다시 버튼이 생기네요. 클릭 적용이 된 글에는 다시 들어가도 안보이게가 가능할까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 2,346
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT