905

我正在使用 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…&lt;/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();
});
4

16 回答 16

1662

Bootstrap 有一些可以在 modals 上手动调用的函数:

$('#myModal').modal('toggle');
$('#myModal').modal('show');
$('#myModal').modal('hide');

你可以在这里看到更多:Bootstrap modal 组件

特别是方法部分

所以你需要改变:

$('#my-modal').modal({
    show: 'false'
}); 

到:

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

如果您想制作自己的自定义弹出窗口,以下是来自其他社区成员的推荐视频:

https://www.youtube.com/watch?v=zK4nXa84Km4

于 2012-11-01T18:57:05.317 回答
102

大多数情况下,当$('#myModal').modal('show');它不起作用时,它是由两次包含 jQuery 引起的。包含 jQuery 2 次会使模态不工作。

删除其中一个链接以使其再次工作。

此外,一些插件也会导致错误,在这种情况下添加

jQuery.noConflict(); 
$('#myModal').modal('show'); 
于 2016-01-19T07:24:16.743 回答
97

此外,您可以通过数据属性使用

<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>

在这种特殊情况下,您不需要编写 javascript。

你可以在这里看到更多:http: //getbootstrap.com/2.3.2/javascript.html#modals

于 2013-08-28T17:11:58.293 回答
24

只需使用选择器调用模态方法(不传递任何参数)jQuery

这是示例:

$('#modal').modal();
于 2016-02-06T19:21:24.320 回答
18

如果使用链接的 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>
于 2016-04-18T06:42:04.560 回答
14

这是文档准备好后立即加载引导警报的方法。很简单,只需添加

 $(document).ready(function(){
   $("#myModal").modal();
});

我在 W3Schools 上做了一个演示。

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <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.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h2>Here is how to load a bootstrap modal as soon as the document is ready </h2>
  <!-- Trigger the modal with a button -->


  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
    
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Modal Header</h4>
        </div>
        <div class="modal-body">
          <p>Some text in the modal.</p>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>
      
    </div>
  </div>
  
</div>

<script>
$(document).ready(function(){
   $("#myModal").modal();
});
</script>

</body>
</html>

于 2017-08-26T13:57:06.960 回答
11

在此处查看完整的解决方案:

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>
于 2017-01-14T21:16:43.357 回答
11

在调用函数时尝试使用jQuery而不是$符号,它在我的情况下有效,如下所示。

jQuery.noConflict(); 
jQuery('#myModal').modal('show'); 

jQuery.noConflict(); 因为当 jQuery('#myModal').modal('show'); 不起作用,这是由于两次包含 jQuery 造成的。包含 jQuery 2 次会使模态不工作。在这种情况下它会解决问题,就像我的情况一样,它正在重复。

进一步你可以去这个链接

通过 JQuery 调用不显示引导模型窗口

于 2018-12-13T23:55:08.177 回答
10

我尝试了几种失败的方法,但下面的方法对我来说就像一个魅力:

$('#myModal').appendTo("body").modal('show');
于 2017-06-08T03:33:40.940 回答
8

尝试

$("#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>
于 2017-11-07T11:49:58.870 回答
7
<script type="text/javascript">
    $(function () {
        $("mybtn").click(function () {
            $("#my-modal").modal("show");
        });
    });
</script>
于 2019-12-08T11:09:16.660 回答
5
<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…&lt;/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();
    });
});
于 2017-10-12T10:44:15.067 回答
4

试试这个

myModal1 是 modal 的 id

$('#myModal1').modal({ show: true });
于 2019-06-29T10:43:49.640 回答
2

Bootstrap 4.3 - 更多在这里

$('#exampleModal').modal();
<!-- Initialize Bootstrap 4 -->

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>


<!-- MODAL -->

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
    
      <div class="modal-body">
        Hello world   
      </div>
      
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
      </div>

    </div>
  </div>
</div>

于 2020-05-13T22:26:03.767 回答
0

试试这个。它对我很有效。

function clicked(item) {
         alert($(item).attr("id"));
        }
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-rtl/3.4.0/css/bootstrap-rtl.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<button onclick="clicked(this);" id="modalME">Click me</button>

<!-- Modal -->
  <div class="modal" id="modalME" aria-hidden="true">
    <div class="modal-dialog">
      <div class="modal-header">
        <h2>Modal in CSS</h2>
        <a href="#close" class="btn-close" aria-hidden="true">×</a> <!--CHANGED TO "#close"-->
      </div>
      <div class="modal-body">
        <p>One modal example here.</p>
      </div>
      <div class="modal-footer">
        <a href="#close" class="btn">Nice!</a>  <!--CHANGED TO "#close"-->
      </div>
      </div>
    </div>
  </div>
  <!-- /Modal -->

于 2020-07-13T13:29:30.033 回答
-1
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#staticBackdrop">
  Launch static backdrop modal
</button>

<!-- Modal -->
<div class="modal fade" id="staticBackdrop" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="staticBackdropLabel">Modal title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Understood</button>
      </div>
    </div>
  </div>
</div>
于 2021-04-06T14:27:36.040 回答