Bootstrap modal opening on page load

109,459

Solution 1

I found the problem. This code was placed in a separate file that was added with a php include() function. And this include was happening before the Bootstrap files were loaded. So the Bootstrap JS file was not loaded yet, causing this modal to not do anything.

With the above code sample is nothing wrong and works as intended when placed in the body part of a html page.

<script type="text/javascript">
$('#memberModal').modal('show');
</script>

Solution 2

Use a document.ready() event around your call.

$(document).ready(function () {

    $('#memberModal').modal('show');

});

jsFiddle updated - http://jsfiddle.net/uvnggL8w/1/

Share:
109,459
Paul
Author by

Paul

Updated on July 15, 2022

Comments

  • Paul
    Paul almost 2 years

    I got a page with a bootstrap modal on it (manual: http://getbootstrap.com/javascript/#modals).

    I would like to have this modal open on page load. However this is not happening.

    <!-- Modal -->
    <div class="modal fade" id="memberModal" tabindex="-1" role="dialog" aria-labelledby="memberModalLabel" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h4 class="modal-title" id="memberModalLabel">Thank you for signing in!</h4>
          </div>
          <div class="modal-body">
            <p>However the account provided is not known.<BR>
            If you just got invited to the group, please wait for a day to have the database synchronized.</p>
    
            <p>You will now be shown the Demo site.</p>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
          </div>
        </div>
      </div>
    </div>
    
    <script type="text/javascript">
    <!--
    $('#memberModal').modal('show');
    //-->
    </script>
    

    Now if I add a button to the code. The modal is opening when I press the button.

    <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#memberModal">
      Launch modal
    </button>
    

    I tried several things, but I can't get it to work that the modal opens itself on page load. I have both the js and css of bootstrap called in the html head.

    <!-- Bootstrap - Latest compiled and minified CSS -->
    <link rel="stylesheet" type='text/css' href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
    
    <!-- Bootstrap - Latest compiled and minified JavaScript -->
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
    

    What am I doing wrong?