【发布时间】:2019-06-08 08:29:41
【问题描述】:
我通过 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>
当我点击第一条评论旁边的按钮时,模式会打开,但如果我点击以下 cmets 旁边的按钮,它不会。
我不知道出了什么问题或如何让它工作,我希望任何人都可以帮助我。
【问题讨论】:
-
Id 在 html 中必须是唯一的。如果您有多个 cmets,并且每个 cmets 都有自己的 id='delete-btn' 的删除按钮,则它仅适用于第一个。而不是 id 你可以使用类名
标签: javascript php foreach modal-dialog