我正在尝试在模态上加载特定帖子的评论。为此,我需要将post id传递给模态,然后获取相应的注释。 模态由以下内容触发:
<a class="xyz" data-toggle="modal" data-target="#compose-modal" data-id="<?php echo $list[$i]->getID(); ?>">View Comments</a>
模式在页面底部定义如下:
<div class="modal fade" id="compose-modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<!-- here i need to use php to fetch the comments using post id -->
</div>
</div>
</div>
答案 0 :(得分:5)
在页面返回浏览器之前执行PHP。一旦在浏览器中看到该页面,就已经执行了所有PHP。您可能想要做的是使用AJAX。以下是您将如何做的概述:
拥有一个获取ID的PHP页面,并将您想要的数据作为JSON返回。
api.php
$theId = $_POST['theId'];
//Get the information you want, and turn it into an array called $data
header('Content-Type: application/json');
echo json_encode($data);
在你的html中,你应该使用附加到“查看评论”的onclick来触发模态:
<a class="xyz" onclick = "launch_comment_modal(<?php echo $list[$i]->getID(); ?>)">View Comments</a>
然后,在底部与您的其他javascript:
<script>
$('#compose-modal').modal({ show: false});
function launch_comment_modal(id){
$.ajax({
type: "POST",
url: "api.php",
data: {theId:id},
success: function(data){
//"data" contains a json with your info in it, representing the array you created in PHP. Use $(".modal-content").html() or something like that to put the content into the modal dynamically using jquery.
$('#compose-modal').modal("show");// this triggers your modal to display
},
});
}
</script>
答案 1 :(得分:0)
只需通过带有php页面的ajax传递内容即可 并回显模态中的内容
答案 2 :(得分:0)
我刚刚做了一种最简单的方法来将php动态数据传递给Laravel中的Bootstrap模态> 5 目前我正在使用larvel 7。
这是使用onclick事件的HTML DOM,只需调用JavaScript函数
<li><a href="#" onclick="showModal('{{$abc->id}}')">Some Option</a></li>
&传递动态变量。
这是JavaScript代码
<script type="text/javascript">
function showModal(id=0){
$('#collectionModal').modal('show');
// here is the id of that element where do you want to display / have the passed value
// in my case i am taking in a hidden input which id is = bookID , i am using a form in my modal that why
$('#bookID').val(id);
}
</script>
这是模态的HTML,我在其中获取传递的值,例如:
<input type="hidden" name="book_id" id="bookID" value="">
最后我要使用javaScript和Ajax以模式提交表单。