Mefhisto1
Mefhisto1

Reputation: 2228

Bootstrap modal - screen goes black

I have two modals, they pop up on button click. One works fine, however for the second one, the screen just goes black and nothing happens:

First, working modal:

<div id="deleteConfirmation" class="hidden, modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <h5>Are you sure you want to delete this contact?</h5>
      <button id="deleteOk">
        Yes
      </button>
      <button id="deleteNo">
        No
      </button>
    </div>
  </div>
</div>

and pops up on this command:

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

Second one, is almost identical, but not working:

<div id="addContact" class="hidden, modal fade">
  <div class="modal-header">
    <h5>Add New Contact</h5>
  </div>
  <div class="modal-dialog">
    <div class="modal-content"> 
      <label>First Name </label><input /> <br />
      <label>Last Name </label><input /> <br />
      <label>Address </label><input /> <br />
      <label>Phone Number </label><input /> <br />

      <button id="addConfirm">
        Confirm
      </button>
    </div>
  </div>
</div>

And the command:

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

It's basically two identical modals, however for the second one, screen just goes black, and the first modal works correctly. I assume it's one of the classes that I'm using. What seems to be off here?

Upvotes: 7

Views: 39643

Answers (6)

Safa Tun&#231;
Safa Tun&#231;

Reputation: 134

You need to do this to fix.

$("#deleteConfirmation").prependTo("body");

Upvotes: 1

Mayur Pujari
Mayur Pujari

Reputation: 1

May Be your bootstrap model inside any div try to put the end of the body :)

Upvotes: 0

krueger13
krueger13

Reputation: 1

This one worked for me. $("#deleteConfirmation").prependTo("body");

Upvotes: 0

Vitor Mateus
Vitor Mateus

Reputation: 145

I created some modals at bootply and adapted your code, check out if this is of any help.

bootply example

Upvotes: 2

Chukwuemeka Ihedoro
Chukwuemeka Ihedoro

Reputation: 605

I think the real thing to do here is to remove the hidden class in your div tags by changing this:

<div id="deleteConfirmation" class="hidden modal fade">
<div id="addContact" class="hidden modal fade">

to this

<div id="deleteConfirmation" class="modal fade">
<div id="addContact" class="modal fade">

if you go through the bootstrap doc you wont see where a hidden class was added: http://getbootstrap.com/javascript/#modals

Upvotes: 1

Praveen Kumar Purushothaman
Praveen Kumar Purushothaman

Reputation: 167182

You have a typo here:

<div id="deleteConfirmation" class="hidden, modal fade">
<div id="addContact" class="hidden, modal fade">

Remove the commas:

<div id="deleteConfirmation" class="hidden modal fade">
<div id="addContact" class="hidden modal fade">

So the script is unable to determine whether the hidden class is correctly applied or not, and ultimately you won't see anything other than a black screen of death! :O

Upvotes: 3

Related Questions