Bootstrap modal - close modal when “call to action” button is clicked

后端 未结 5 1930
一向
一向 2021-02-06 20:36

I have a external link inside my modal, and I want the modal to hide after the user has clicked on the link. How do I do that?

Here is my code:

相关标签:
5条回答
  • 2021-02-06 21:02

    You need to bind the modal hide call to the onclick event.

    Assuming you are using jQuery you can do that with:

    $('#closemodal').click(function() {
        $('#modalwindow').modal('hide');
    });
    

    Also make sure the click event is bound after the document has finished loading:

    $(function() {
       // Place the above code inside this block
    });
    enter code here
    
    0 讨论(0)
  • 2021-02-06 21:06

    Make as shown.

      $(document).ready(function(){
        $('#myModal').modal('show');
    
        $('#myBtn').on('click', function(){
          $('#myModal').modal('show');
        });
        
      });
    <br/>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <!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.3.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>Activate Modal with JavaScript</h2>
      <!-- Trigger the modal with a button -->
      <button type="button" class="btn btn-info btn-lg" id="myBtn">Open Modal</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>
          
        </div>
      </div>
      
    </div>

    0 讨论(0)
  • 2021-02-06 21:06

    I tried closing a modal window with a bootstrap CSS loaded. The close () method does not really close the modal window. So I added the display style to "none".

        function closeDialog() {
            let d = document.getElementById('d')
            d.style.display = "none"
            d.close()
        }
    

    The HTML code includes a button into the dialog window.

    <input type="submit" value="Confirm" onclick="closeDialog()"/>
    
    0 讨论(0)
  • 2021-02-06 21:07

    Use data-dismiss="modal". In the version of Bootstrap I am using v3.3.5, when data-dismiss="modal" is added to the desired button like shown below it calls my external Javascript (JQuery) function beautifully and magically closes the modal. Its soo Sweet, I was worried I would have to call some modal hide in another function and chain that to the real working function

     <a href="#" id="btnReleaseAll" class="btn btn-primary btn-default btn-small margin-right pull-right" data-dismiss="modal">Yes</a>
    

    In some external script file, and in my doc ready there is of course a function for the click of that identifier ID

     $("#divExamListHeader").on('click', '#btnReleaseAll', function () {
                   // Do DatabaseMagic Here for a call a MVC ActionResult
    
    0 讨论(0)
  • 2021-02-06 21:19

    Remove your script, and change the HTML:

    <a id="closemodal" href="https://www.google.com" class="btn btn-primary close" data-dismiss="modal" target="_blank">Launch google.com</a>
    

    EDIT: Please note that currently this will not work as this functionality does not yet exist in bootstrap. See issue here.

    0 讨论(0)
提交回复
热议问题