Показывать модальное содержимое с другой страницы в этом же всплывающем окне - PullRequest
0 голосов
/ 23 ноября 2018

Подобные вопросы были опубликованы ранее, но никто не решил мою проблему.Я пытаюсь, чтобы страница enrollments.php отображалась как модальное всплывающее окно на странице index.php

index.php

<button class="sess_btn sess_btn1" id="btn_enrol">Enrollments</button>  
<div id="enrolModal"></div>

<script>
$(document).ready(function() {
    //button modal
    $('#btn_enrol').click(function(){
        //using ajax post
        $.post('enrollments.php',function() {
            $('#enrolModal').html(); //Fill DIV enrolModal with enrollments.php content
        })
    //Calling Modal
    $('#myModal').modal('show');
    })
})
//-------------
</script>

заявок.php

<!-- The Modal -->
<div id="myModal" class="modal">

  <!-- Modal content -->
  <div class="modal-content">
    <div class="modal-header">
      <span class="close">&times;</span>
      <h2>Modal Header</h2>
    </div>
    <div class="modal-body">
      <p>Some text in the Modal Body</p>
      <p>Some other text...</p>
    </div>
    <div class="modal-footer">
      <h3>Modal Footer</h3>
    </div>
  </div>

</div>

Кроме того, когда я пытаюсь нажать на кнопку несколько раз, в окне браузера появляются быстрые мигания.Любая помощь будет оценена, спасибо.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Спасибо за ответ, я сделал это немного по-другому.Вместо кнопки я использовал ссылку, как показано.

index.html

<script>
    $(document).ready(function() {              
        $('.li-modal').on('click', function(e){
            e.preventDefault();
            $('#theModal').modal('show').find('.modal-content').load($(this).attr('href'));
        })
    });
</script>

    <a href="enrollments.php" class="li-modal" id="enrol_link" onMouseOver="this.style.background='rgb(0,66,79)'" onMouseOut="this.style.background='#4CAF50'">Enrollments</a>

    <div class="modal fade text-center" id="theModal">
        <div class="modal-dialog">
            <div class="modal-content">
            </div>
        </div>
    </div>   

enrollments.php

<script>
// Get the modal
var modal = document.getElementById('theModal');

// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];

// When the user clicks on <span> (x), close the modal
span.onclick = function() {
    modal.style.display = "none";
    window.location.href = "updatesession.php";
}

// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
    if (event.target == modal) {
        modal.style.display = "none";
        window.location.href = "updatesession.php";
    }
}
</script>

    <div id="model-content">
        <div class="modal-header">
          <span id="close" class="close">&times;</span>
          <p>Session Editor</p>
        </div>
        <div class="modal-body">
          <p>Select Session: </p>
        </div>
        <div class="modal-footer">
          <p>Modal Footer</p>
        </div>
    </div>
0 голосов
/ 23 ноября 2018

Внесены ли исправления в код для правильного использования API jquery.Не проверено, но приведенный ниже код будет работать.

<script>
$(document).ready(function() {
    //button modal
    $('#btn_enrol').click(function(){

        $.post( "enrollments.php", function( htmlContents ) {
          $('#enrolModal').html( htmlContents ); 

          //Show the Modal once you get enrollments.php html contents
          $('#myModal').modal('show');
        });      
    })
})
//-------------
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...