게시판에
추천 버튼 이나 비추천 버튼을 클릭 했을 때 안보이게 하는 방법이 있을까요?
|
답변 2개 / 댓글 1개
채택된 답변
+20 포인트
2년 전
클라이언트 쪽에서만 작동이 되서 그런겁니다 즉 서버쪽에도 저장을 하셔야지요
다음을 참고하셔서 원하시는 형식으로 구현하시면 되지 않을까 합니다.
Copy
<?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 } ?>
Copy
<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>
2년 전
방법은 여러가지가 있을 수 있습니다.
코드가 어떻게 되어 있는지 정확히 알 수는 없지만
다음을 참고해 보세요
Copy
<button id="recommendButton" onclick="hideButton(this)">추천</button>
<button id="notRecommendButton" onclick="hideButton(this)">비추천</button>
<script>
function hideButton(button) {
button.style.display = "none";
}
</script>
답변에 대한 댓글 1개
2년 전
답변을 작성하려면 로그인이 필요합니다.
<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>
이렇게 배치가 되어 있고, 적용을 하면, 클릭 순간 버튼이 사라지기는 하는데 글을 나갔다 다시 들어가면 다시 버튼이 생기네요. 클릭 적용이 된 글에는 다시 들어가도 안보이게가 가능할까요?