Я получаю комментарии к сообщению (в блоге, который я кодирую) с циклом foreach.
Если администратор вошел в систему, он получает кнопку «x» рядом с каждым комментарием, чтобы удалить их.
Когда кнопка нажата, она должна открыть модал, в котором администратор должен подтвердить, что он хочет удалить комментарий.
Проблема в том, что: Прямо сейчас только первая кнопка открывает модал , и я не знаю, почему, поскольку я точно ничего не знаю, когда речь идет о javascript, я написал свой сценарий из небольшого учебника по модальному коробки.
Это код самого сайта и его скрипт:
<?php if(isset($_SESSION['admin']) && $_SESSION['admin'] == true): ?>
<button id="delete-btn" class="delete-button">x</button>
<?php endif;?>
<div id="delete-modal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<p class="modal-text"> Are you sure you want to delete this comment?
<br /><br /> You will not be able to undo this.</p>
<form method="post" action="post?id=<?php echo e($post['id']);?>">
<div class="confirmation-delete">
<a href="delete-comment?id=<?php echo e($comment->id); ?>" name="delete-comment">delete comment<a/>
</div>
</form>
</div>
</div>
<script>
var modal = document.getElementById('delete-modal');
var btn = document.getElementById("delete-btn");
var span = document.getElementsByClassName("close")[0];
btn.onclick = function() {
modal.style.display = "block";
}
span.onclick = function() {
modal.style.display = "none";
}
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
</script>
Когда я нажимаю кнопку рядом с первым комментарием, открывается модальное окно, но если я нажимаю кнопку рядом со следующими комментариями, это не так.
Я не знаю, что не так или как заставить это работать, я надеюсь, что кто-нибудь может мне помочь с этим.