I have an anchor in a page called menu.html
and I'm having trouble getting a Bootstrap modal to display data from another page called Lab6.html
.
menu.html
<div class="collapse navbar-collapse navbar-exl-collapse">
<ul class="nav navbar-nav" id="menu">
<li><a href="/emplookup.html">Lookup</a></li>
<li><a href="/modalexample.html">Modals</a></li>
<li><a href="/Lab6.html#theModal" data-toggle="modal">Lab 6</a></li><!-- this one -->
</ul>
</div>
Lab6.html
<div class="modal fade text-center" id="theModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">X</button>
<h1>Lab 6</h1>
</div>
<div class="modal-body">
<div class="panel panel-default">
<div class="panel-heading text-center">
Employee Information
</div>
<div class="panel-body">
<div class="row">
<div class="text-right col-xs-2">Title:</div>
<div class="text-left col-xs-3" id="title"></div>
<div class="text-right col-xs-2">First:</div>
<div class="text-left col-xs-3" id="firstname"></div>
</div>
<div class="row">
<div class="text-right col-xs-2">Phone#</div>
<div class="text-left col-xs-3" id="phone"></div>
<div class="text-right col-xs-2">Email</div>
<div class="text-left col-xs-3" id="email"></div>
</div>
<div class="row">
<div class="text-right col-xs-2">Dept:</div>
<div class="text-left col-xs-3" id="departmentname"></div>
<div class="text-left col-xs-2">Surname:</div>
<div class="text-left col-xs-4">
<input type="text" placeholder="enter last name" id="TextBoxLastName" class="form-control" />
</div>
</div>
</div>
</div>
<div class="modal-footer">
<div class="panel-footer">
<input type="button" value="Find Employee" id="empbutton" />
<div class="col-xs-10" id="lblstatus"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="Scripts/jquery-2.1.4.min.js"></script>
<script src="Scripts/bootstrap.min.js"></script>
Am I doing anything wrong?
Update
The way you're trying to get modal's content from another page is incorrect.
According to Bootstrap's documentation:
So, firstly, you should change your
menu.html
file to be similar to the code above:And then, part of your
Lab6.html
page must reside inside yourmenu.html
page. E.g:Finally, your
LAB6.html
would have only the code that was inside.modal-content
. E.g:Take a look at the plnkr I created for you.
Note that if you are using Bootstrap 4, the accepted answer does not work, because according to Bootstrap's docs about the
remote
option:To make it work, first remove the
data-target
anddata-toggle
attributes from the link. You can leave thehref
attribute there.Using jQuery we can add a click listener to the
<a>
element, but we do not want to directly go the the page indicated by thehref
attribute so we usepreventDefault()
. By simply using jQuery's load method we can load the content of thelab6.html
page intomodal-content
.Full example here.