单击而不是转到链接/页面,打开div中的页面

时间:2017-01-31 09:39:08

标签: javascript php jquery

我在这里有一个链接

MyScript.py
MyScript.py
MyScript.py
...
MyScript.py

点击链接后,会转到 <h2 data-toggle="modal" data-target="#myModal"> <a href="post.php?id=<?php echo $post_id;?>"> post </a> </h2>

如何阻止进入此链接但同时打开此内部 下面的div?

注意:任何放在div中的内容都会自动显示,因为它是一个模态div。

我需要的是将div中的post.php包含在内,并防止转到post.php?id=1

post.php?id=1

这是post.php:`

 <h2 data-toggle="modal" data-target="#myModal">
 <a href="post.php?id=<?php echo $post_id;?>">  post  </a>  </h2>


<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">

<!-- Modal content-->
<div class="modal-content">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal">&times;</button>
    <h4 class="modal-title">Edit Post</h4>
  </div>
  <div class="modal-body">

    <div>     




          //include post.php inside here with id




    </div>

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

3 个答案:

答案 0 :(得分:1)

<h2 data-toggle="modal" data-target="#myModal">See post</h2>然后将post.php包含到模态中。将链接放入模态开启器是没有意义的。因为与模态的绑定是由数据目标而不是某些链接。为了更好地改进,您可以使用post中的id在页面中生成唯一ID。如果你想要多个帖子/模态,如

data-target="#myModal_<?php echo $post_id;?>" 

和模态div应该相同。 id="myModal_<?php echo $post_id;?>"

答案 1 :(得分:1)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
 <h2 data-toggle="modal" data-target="#myModal">
      <a href="#" id="post">  post  </a>  </h2>
    <div id="myModal" class="modal fade" role="dialog">
    <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Edit Post</h4>
      </div>
      <div class="modal-body">

        <div id="include">     

            //include post.php inside here with id

        </div>

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

    <script>
    $(function() {
        $("#post").click(function() {
            var id = "<?php echo $post_id;?>";
            $.ajax({
                url : 'post.php' ,
                method : 'get',
                success : function (res)
                {
                    $("#include").html(res);
                }
            });
        });
    });
    </script>
  

在Post.php页面中。你必须把所有的html都变成一个变量并回显   它   注意: - 您的网址: - 'post.php'?id='+ id

<强> post.php中

<?php 
$html = "<h1>This is Post page content</h1>";
echo $html ;
?>

答案 2 :(得分:0)

你需要运行一些javascript / JQuery。

首先,您需要停止激活链接,因为简单的onclick="return false"应该在那里完成。然后,您需要将该点击与ajax的{​​{1}}请求联系起来。

看看构建一个在click上运行的函数,或者是一个JQuery的偶数处理程序: