추천 이나 비추천 버튼 클릭 시 숨기기
본문
게시판에
추천 버튼 이나 비추천 버튼을 클릭 했을 때 안보이게 하는 방법이 있을까요?
답변 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>
답변을 작성하시기 전에 로그인 해주세요.