Bootstrap模态加载php

时间:2015-06-08 17:55:22

标签: php twitter-bootstrap

我有桌子,它显示为姓名,姓氏,编辑某个用户,我该怎么做?

我正在使用facebox,现在转移到bootstrap;

在我的admin.php页面

<script type="text/javascript">
$('.load-modal').on('click', function(e){
    e.preventDefault();
    $('#myModal2').modal('show');
});
</script>
.... some code ....
echo '<td><a class="load-modal" href="editadminprofile.php?id='.$row['id'].'" data-toggle="modal1" data-target="#myModal2" title="Click To View Orders">Edit Profile</a></td>';

它只需要我到目标页面而不是打开模态。

EditAdminProfile.php

<?php
include('../connect.php');
$id=$_GET['id'];
$result = mysql_query("SELECT * FROM admin where id='$id'");

while($row = mysql_fetch_array($result))
  {
    $idnum=$row['idnum'];
    $password=$row['password'];
    $fname=$row['fname'];
    $lname=$row['lname'];
    $mname=$row['mname'];
    $birth=$row['birth'];
    $status=$row['status'];
    $gender=$row['gender'];
  }
?>
<!-- Modal -->
<div id="myModal2" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal1">&times;</button>
                <h4 class="modal-title"><center>Create new administrator</center></h4>
            </div>

        </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:1)

  1. data-toggledata-dismiss的值应为modal
  2. 2.您的模态部分应该在您的admin.php页面中。

    admin.php的

    <script type="text/javascript">
    $('.load-modal').on('click', function(e){
        e.preventDefault();
        $('#myModal2').modal('show');
    });
    </script>
    .... some code ....
    echo '<td><a class="load-modal" href="editadminprofile.php?id='.$row['id'].'" data-toggle="modal" data-target="#myModal2" title="Click To View Orders">Edit Profile</a></td>';
    
    <!-- Modal -->
    <div id="myModal2" class="modal fade" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                  <!-- HTML will be inserted here -->
            </div>
        </div>
    </div>
    
    1. Bootstrap会将editadminprofile.php加载到<div class="modal-content"></div>,因此您必须将.modal-header代码移到editadminprofile.php
    2. editadminprofile.php

      <?php
      include('../connect.php');
      $id=$_GET['id'];
      $result = mysql_query("SELECT * FROM admin where id='$id'");
      
      while($row = mysql_fetch_array($result))
        {
          $idnum=$row['idnum'];
          $password=$row['password'];
          $fname=$row['fname'];
          $lname=$row['lname'];
          $mname=$row['mname'];
          $birth=$row['birth'];
          $status=$row['status'];
          $gender=$row['gender'];
        }
      ?>
      
          <div class="modal-header">
                          <button type="button" class="close" data-dismiss="modal">&times;</button>
                          <h4 class="modal-title"><center>Create new administrator</center></h4>
                      </div>
      

      如果我是你,我将首先设置href="#"以测试模态是否有效(空白模态),然后将href放回去,看看是否正确加载了editadminprofile.php。

      希望这会有所帮助。

答案 1 :(得分:0)

假设您没有包含editadminprofile.php,我认为它会抛出错误,因为预期的参数未通过。

当您点击Edit Profile按钮时,预计会看到Modal。同时Bootstrap在同一页面上查找Modal正文,在你的情况下找不到它。

editadminprofile.php?id='.$row['id']似乎你的模态是动态的,所以你可以调用ajax来获取同一页面上的模态。

  • 您还需要在同一页面上使用div。

    <div id="ajax-response"></div>

  • 在所有锚点上添加一个类,您需要在其上显示模态。 (你可能有多个,因为它似乎是动态的。)

    echo '<td><a class="load-modal" href="editadminprofile.php?id='.$row['id'].'" data-toggle="modal1" data-target="#myModal2" title="Click To View Orders">Edit Profile</a></div></td>';

  • 写一个ajax,哪个被绑定到.load-modal类的调用将触发onclick,并且在将模态体放入ajax-response div后成功,你需要显示模态使用$('#myModal').modal('show');#myModal更改为您的实际模态ID

    $('.load-modal').on('click', function(e){
        e.preventDefault();
        var url = $(this).attr('attr');
    
        $.ajax({
           url: url,
           type: 'post',
           async: false,
           success: function(response){
                $('#ajax-response').html(response);
                $('#myModal').modal('show');
           }
        })
    });
    

<强>更新 您的脚本放置存在问题。问题?在调用load-modal之前,类$('.load-modal')未添加到文档中。

<td><a class="load-modal" ...后的任何地方向下移动您的脚本,或者如果您不想更改位置,可以将其包装在jQuery(document).ready(function()){中。请参阅下面的更新代码段:

.... some code ....
echo '<td><a class="load-modal" href="editadminprofile.php?id='.$row['id'].'" data-toggle="modal1" data-target="#myModal2" title="Click To View Orders">Edit Profile</a></td>';

<script type="text/javascript">
$('.load-modal').on('click', function(e){
    e.preventDefault();
    $('#myModal2').modal('show');
});
</script>