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?
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?
Share Improve this question edited Jun 18, 2015 at 8:54 Praveen Kumar Purushothaman 167k27 gold badges213 silver badges259 bronze badges asked Jun 18, 2015 at 8:47 Mefhisto1Mefhisto1 2,22810 gold badges38 silver badges73 bronze badges 2- Make use of class instead of id, when your creating same stuff multiple times. – stanze Commented Jun 18, 2015 at 8:50
- @stanze He is using it correctly. What's the problem there? – Praveen Kumar Purushothaman Commented Jun 18, 2015 at 8:55
6 Answers
Reset to default 3You 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
I created some modals at bootply and adapted your code, check out if this is of any help.
bootply example
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
You need to do this to fix.
$("#deleteConfirmation").prependTo("body");
This one worked for me. $("#deleteConfirmation").prependTo("body");
May Be your bootstrap model inside any div try to put the end of the body :)