我正在使用 Twitter Bootstrap 模式窗口功能。当有人在我的表单上单击提交时,我想在单击表单中的“提交按钮”时显示模式窗口。
<form id="myform" class="form-wizard">
<h2 class="form-wizard-heading">BootStap Wizard Form</h2>
<input type="text" value=""/>
<input type="submit"/>
</form>
<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
jQuery:
$('#myform').on('submit', function(ev) {
$('#my-modal').modal({
show: 'false'
});
var data = $(this).serializeObject();
json_data = JSON.stringify(data);
$("#results").text(json_data);
$(".modal-body").text(json_data);
// $("#results").text(data);
ev.preventDefault();
});
Bootstrap 有一些可以在 modals 上手动调用的函数:
$('#myModal').modal('toggle');
$('#myModal').modal('show');
$('#myModal').modal('hide');
您可以在此处查看更多信息:Bootstrap modal component
特别是 methods section。
所以你需要改变:
$('#my-modal').modal({
show: 'false'
});
至:
$('#myModal').modal('show');
如果您想制作自己的自定义弹出窗口,以下是来自其他社区成员的推荐视频:
https://www.youtube.com/watch?v=zK4nXa84Km4
大多数情况下,当 $('#myModal').modal('show');
不起作用时,它是由两次包含 jQuery 引起的。包含 jQuery 2 次会使模态不工作。
删除其中一个链接以使其再次工作。
此外,一些插件也会导致错误,在这种情况下添加
jQuery.noConflict();
$('#myModal').modal('show');
此外,您可以通过数据属性使用
<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>
在这种特殊情况下,您不需要编写 javascript。
您可以在此处查看更多信息:http://getbootstrap.com/2.3.2/javascript.html#modals
只需使用 jQuery
选择器调用模态方法(不传递任何参数)。
这是示例:
$('#modal').modal();
如果使用链接的 onclick 函数通过 jQuery 调用模态框,“href”不能为空。
例如:
... ...
<a href="" onclick="openModal()">Open a Modal by jQuery</a>
... ...
... ...
<script type="text/javascript">
function openModal(){
$('#myModal').modal();
}
</script>
模态无法显示。正确的代码是:
<a href="#" onclick="openModal()">Open a Modal by jQuery</a>
这是文档准备好后立即加载引导警报的方法。很简单,只需添加
$(document).ready(function(){
$("#myModal").modal();
});
我在 W3Schools 上做了一个demo。
在此处查看完整的解决方案:
http://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_ref_js_modal_show&stacked=h
确保按要求的顺序放置库以获得结果:
1- 首先 bootstrap.min.css 2- jquery.min.js 3- bootstrap.min.js
(换句话说 jquery.min.js 必须在 bootstrap.min.js 之前调用)
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
在调用函数时尝试使用 jQuery 而不是 $ 符号,它在我的情况下有效,如下所示。
jQuery.noConflict();
jQuery('#myModal').modal('show');
jQuery.noConflict();因为当 jQuery('#myModal').modal('show');不起作用,这是由于两次包含 jQuery 造成的。包含 jQuery 2 次会使模态不工作。在这种情况下它会解决问题,就像我的情况一样,它正在重复。
进一步你可以去这个链接
Bootstrap Model Window Not Showing by Calling Through JQuery
<script type="text/javascript">
$(function () {
$("mybtn").click(function () {
$("#my-modal").modal("show");
});
});
</script>
我尝试了几种失败的方法,但下面的方法对我来说就像一个魅力:
$('#myModal').appendTo("body").modal('show');
尝试
$("#myModal").modal("toggle")
打开或关闭 id 为 myModal 的模式。
如果上述方法不起作用,则意味着 bootstrap.js 已被其他 js 文件覆盖。这是一个解决方案
1:- 将 bootstrap.js 移至底部,以便覆盖其他 js 文件。
2:- 确保订单如下
<script src="plugins/jQuery/jquery-2.2.3.min.js"></script>
<!-- Other js files -->
<script src="plugins/jQuery/bootstrap.min.js"></script>
<form id="myform" class="form-wizard">
<h2 class="form-wizard-heading">BootStap Wizard Form</h2>
<input type="text" value=""/>
<input type="submit" id="submitButton"/>
</form>
<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
您可以使用下面的代码启动模式。
$(document).ready(function(){
$("#submitButton").click(function(){
$("#myModal").modal();
});
});
尝试这个
myModal1 是 modal 的 id
$('#myModal1').modal({ show: true });
尝试这个。它对我很有效。
功能点击(项目){警报($(项目).attr(“id”)); }
show
是modal()
的默认参数,但我找不到它 here