当PHP echo生成模式onclick按钮时,打开该按钮

当PHP echo生成模式onclick按钮时,打开该按钮,php,jquery,html,modal-dialog,Php,Jquery,Html,Modal Dialog,我在这里需要你的帮助。我有一个按钮,它由PHP文件回显到HTML文件。单击该按钮后,我希望在HTML文件中显示一个模式。有人知道我如何才能做到这一点吗 PHP echo: '<div class="modal fade" id="modelWindow" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-con

我在这里需要你的帮助。我有一个按钮,它由
PHP
文件回显到
HTML
文件。单击该按钮后,我希望在
HTML
文件中显示一个模式。有人知道我如何才能做到这一点吗

PHP echo:

'<div class="modal fade" id="modelWindow" tabindex="-1" role="dialog">
     <div class="modal-dialog" role="document">
         <div class="modal-content">
            <div class="modal-header">
       <button type="button" class="close" data-dismiss="modal">&times;</button>
       <h4 class="modal-title">'. $row['title'] .'</h4>
            </div>
           <div class="modal-body">
       <img class="img-rounded" src="'. $row['image'] .'" alt="MyImage" width="550px" height="240px">
       <p class="well">'. $row['description'] .'<p>

        </div>
       <div class="modal-footer">
   <button type="button" data-dismiss="modal" class="btn btn-default">Close</button>
           </div>
          </div>
         </div>
        </div>

           <div class="row top-buffer">
           <div class="col-md-6">
     <img class="img-rounded" src="'. $row['image'] .'" alt="MyImage" width="550px" height="240px">
       </div>
       <div class="col-md-6">
       <h3>'. $row['title'] .'</h3>
       <p class="well">'. $row['description'] .'<p>

       <div class="row top-buffer">

      <div class="col-md-5 col-md-offset-1">
      <img src="img/link_icon.png" class="img-rounded" width="20px" height="20px"/>
  <a href="www.link.com">LINK</a>
               </div>
         <div class="col-md-6">

  <button class="btn btn-primary pull-right" id="btn">More...</button>
                         </div>
                    </div>
               </div>
          </div>'
'
&时代;
“.$row['title']”

”$行['description']. 接近 “.$row['title']”

”$行['description']. 更多 '

第一部分是模态框,第二部分是HTML输出

触发模式的脚本:

<script type="text/javascript">

$("#btn").click(function() {
    $("#modelWindow").modal("show");
    });

</script>

$(“#btn”)。单击(函数(){
$(“#模型窗口”).modal(“显示”);
});

我需要将脚本添加到外部文件并在php内部调用它吗?或者有其他方法可以这样做吗?谢谢

您可以将脚本包含在php echo中,只需确保所有依赖项(如
jQuery
Bootstrap.js
)都包含在将呈现回显数据的页面上。

Javascript代码不能被删除由PHP直接触发,因为PHP在服务器上运行,Javascript在客户端(如浏览器)上运行。所以我们需要的是一种告诉浏览器执行代码的方法

不过,您可以在PHP中构建的字符串中包含

'<script type="text/javascript">
$("#btn").click(function() {
    $("#modelWindow").modal("show");
    });
</script>'
'
$(“#btn”)。单击(函数(){
$(“#模型窗口”).modal(“显示”);
});
'
如果jQuery和Bootstrap的Javascript在插入DOM时已经加载,那么单击按钮就可以了。如果这对您不起作用,请尝试将其更改为:

'<script type="text/javascript">
   window.onload = function(){
      $("#btn").click(function() {
          $("#modelWindow").modal("show");
          });
   }
</script>'
'
window.onload=函数(){
$(“#btn”)。单击(函数(){
$(“#模型窗口”).modal(“显示”);
});
}
'
将代码放入
窗口。onload
可确保浏览器仅在加载所有外部脚本后才运行它。从:

加载事件在文档加载过程结束时激发。在 此时,文档中的所有对象都在DOM中,并且 图像、脚本、链接和子帧已完成加载


如果您想做的是在onclick上打开一个模态,那么触发模态的方法有很多,即使您可以使用类似的方法

echo'点击打开模态'

如果您想在php函数上执行此操作,请使用此函数,它将在调用时自动触发模式

echo "<script>$('#showmymodalnow').modal('show')</script>";
echo“$”('showmymodalnow').modal('show');
我个人喜欢像这样直接从HTML中使用onclick事件

<button onclick="$('#showmymodal').modal('show')">click to open modal</button>
单击以打开模式

我希望这对某人有所帮助

我是否需要将脚本添加到外部文件并在php中调用它,或者有其他方法来实现这一点

两种方法都可以,但是你的模态类应该已经加载了。我没有在php文件中包含任何内容。你认为这就是问题所在吗?支持模态的库在你的php代码echo之前已经加载了?没有。所以我必须将它们包含在
头中
?当然可以,您需要先加载libs,我应该
echo
this
window.onload=function(){$(“#btn”)。单击(function(){$(“#modelWindow”).modal(“show”);}
?是的,或者直接将其放在HTML文件中。我尝试了两种解决方案,但都不起作用。你知道为什么吗?你能提供一个提琴示例吗?javascript是否显示在DOM中?(打开浏览器开发工具,查看PHP字符串插入的位置)。如果您知道如何处理PHP脚本(我不知道这是可能的),请提供一个处理工具,我会给您反馈。